#include
/*
* // 同一段代码,为什么放在函数里面可以,放在外面不行?
* int* x;
* int y = 23;
* x = &y;
*/
int main()
{
int* x;
int y = 23;
x = &y;
system("pause");
return 0;
}
函数体外只能定义和声明,不能做赋值等运算
因为c语言的最小单位就是函数
程序启动先运行主函数(入口函数),主函数再调用其他函数
你把代码写到函数外面,根本就是个错误的语法,编译都过不去
在函数外面,变量定义是可以的,这是在定义全局变量,但是x=&y这是个纯粹的赋值语句,就是个语法错误。
函数外不能进行 2 个变量单独的赋值运算符
下面这个,只能在函数体中进行赋值运算
x = &y;
你如果这样,是可以的
int y=23;
int* x = &y;