全局变量 // //Createdby王东梁on2023/9/18. // include<stdio.h> intf(); //只能用编译时刻已知的值来初始化,发生在main函数之前 intgAll; intmain(){ printf("in%sgAll=%d\n",__func__,gAll); f(); printf("agnin%sgAll=%d\n",__func__,gAll); return0; } intf(){ intgAll=1;//如果函数内部存在与全局变量同名的变量,则全局变量被隐藏 printf("in%sgAll=%d\n",__fun...
这代码中,有一个问题会导致运行时错误: intp=0; intk; k=12; p=12; intp=0;:这行代码声明了一个指针p并将其初始化为零(NULL)。这意味着p不指向任何有效的内存地址。 k=12;:这行代码将整数变量k设置为值12。 p=12;:这行代码尝试将指针p所指向的内存位置的值设置为12。然而,由于p是一个空指针(NULL指针),它不指向任何有效的内存位置,因此这里会导致运行时错误(通常是"段错误"或"空指针解引用"错误)。 要避免这个问题,应该确保在使用指针p之前,为它分配有效的内存空间,或者将它指向一个已经存在的整数变量。例如: intp;//声明一个整型...
intp,q;//等价于intp,q; printf("%p,%d",p,q);
// //Createdby王东梁on2023/9/15. // include<stdio.h> voidf(intp); voidg(intk); intmain() { inti=6; printf("&i=%p\n",&i); f(&i); g(i); return0; } voidf(intp){ printf("p=%p\n",p); printf("-----------\n"); printf("p的值为%d\n",p); p=12; } voidg(intk){ printf("k=%d\n",k); }