当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示 ""initializer element is not constant"": char *buf = malloc(1024); int main() { return 0; }; 后来知道了,不能将全局变量初始化为一个无法在编译时期确定的值.再想想暑假学习的CSAPP中的链接那部分就知道为什么了.编译器在生成目标文件时,需要将代码段.数据段(初始化了的全局变量和静态变量,未初始化的不会…
全局变量 -全局变量即在函数之外定义的变量 -全局变量保存在静态存储区 注意: -全局变量只能声明和初始化 -全局变量不能进行运算.赋值(非初始化).调用函数 -否则会出现编译错误 -error: expected constructor, destructor, or type conversion before '.' token -initializer element is not constant eg: #include <stdio.h> ; ; int c = a+b;// e…