原创 C语言中的变量初值

2009-5-14 03:43 3195 3 3 分类: MCU/ 嵌入式

弄清C语言中的变量未赋值时的初始值问题




/*
程序目的:弄清C语言中的变量未赋值时的初始值问题


测试结果:在C语言中,全局变量和静态变量,如果没有赋初值,则默认初始值int,float,char,空指针
分别为0.0.0.'\0',0~~~~~~~除了全局变量和静态变量以外,其它变量如果没有赋初值,则默认初始值为
内存中的垃圾内容,对于垃圾内容不能有任何假设.
这些规则对于数组\结构体和联合体也同样适用
用malloc()和realloc()动态分配的内存也可能存在垃圾内容.因此在使用变量前最好都赋初值.
*/


#include<stdio.h>
#define N 10
int a,b[N];
char c,*m;
void main()
{
 static int p,q[N],i;
 char e,*n;
 printf("%d,%d\n%d,%d\n%d\n",a,c,p,e,n);
 for(i=0;i<N;i++)
 {
  printf("%d ",q);
 }
 getchar();
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条