当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示 ""initializer element is not constant"": char *buf = malloc(1024); int main() { return 0; }; 后来知道了,不能将全局变量初始化为一个无法在编译时期确定的值.再想想暑假学习的CSAPP中的链接那部分就知道为什么了.编译器在生成目标文件时,需要将代码段.数据段(初始化了的全局变量和静态变量,未初始化的不会…
C语言的最大特点是:功能强.使用方便灵活.C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考. 1.书写标识符时,忽略了大小写字母的区别.main(){ int a=5; printf("%d",A);}编译程序把a和A认为是两个不同的变量…