У меня есть три примера различий, упомянутых ниже.Я не понимаю, почему ex1 имеет такой же выход для ex2 и отличается выходом для ex3, а также почему ex2 отличается от ex3, где я просто делаю создание в другой строке !!
ex1
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int x=2;
int *y;
y = &x;
printf("value: %d\n", *y);
printf("address: %d\n", y);
return EXIT_SUCCESS;
}
выход
value: 2
address: 2686744
ex2
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int x=2;
int *y = &x;
printf("value: %d\n", *y);
printf("address: %d\n", y);
return EXIT_SUCCESS;
}
выход
value: 2
address: 2686744
ex3
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int x=2;
int *y;
*y = &x;
printf("value: %d\n", *y);
printf("address: %d\n", y);
return EXIT_SUCCESS;
}
выход
value: 2686744
address: 2130567168
У меня БОЛЬШОЕ НЕПРАВИЛЬНОЕ УКАЗАНИЕ ТОЧКИ, КОГДА Я ДУМАЮ, что ЗВЕЗДА ДОЛЖНА СТАТЬ С (y) NOT (int), И Я УЗНАЮ, ЧТО ЗВЕЗДА С (int) NOT (y) (^_^) СЕЙЧАС ВСЕ ЯСНО ДЛЯ Я... СПАСИБО ЗА ВСЕ ВАШИ ОТВЕТЫ