未初始化的全局变量,static变量,编译器会自动初始化为0. 这样可以减少可执行文件的大小。
局部变量的值是不确定的。因为使用的时候会先赋值在使用。
测试程序如下:
#include <stdio.h>
#define N 10
char *pointer;
char *attach[N];
int main()
{
int i = 0;
static int number[N];
char *localptr[N];
printf("default pointer = %p\n",pointer);
for( ; i < N;i++) {
printf("default global attach = %p\n",attach[i]);
printf("default static number = %d\n",number[i]);
printf("default localptr =%p\n",localptr[i]);
}
}