① 在c语言中,为什么定义变量的时候总是初始化为0呢该怎么理解。
这个不是必须的,也可以不初始化,或者初始化为别的数字,主要看需求。
初始化的目的是为了防止后面没赋值就进行了使用, 变量刚定义的时候,他指向的值是不确定的,所以如果引用了一个没有赋值的变量,由于其值的不确定性,会引起程序异常。
如果你后面会引用这个变量做加减操作,可以初始化为 0 ,如果后面做乘除操作,建议初始化为1 。
② 在C语言中,为什么定义变量的时候总是初始化为0呢该怎么理解。
因为变量是可以变动的,定义一个变量不初始化时,变量会是一个随机数,进行计算了的时候,就会引用那个随机数进行计算,会有误差。
③ c语言中static unsigned int n=0;是什么意思请大师指点迷津,学生有礼了。
static 是数据储存类型
unsigned int 是数据类型
n 是变量名
n = 0 是对变量进行初赋值
其中
数据储存类型:是指变量储存在计算机内存中什么位置以及该变量的生存期
比如:
static 说明变量存储在计算机中的静态存储区中
且该变量在程序执行期间占用的内存不会被释放
且该变量不可被其他文件调用
(上述3点涉及知识较多,学到后面你会懂的)
注意:
static声明的变量是在编译时进行赋值而不是在程序执行过程中赋值
意思是说:如果在程序中涉及循环static声明的变量不会被重新赋值
比如;
for(i=1;i<=3;i++)
{
staticintn=3;
n=n+1;
printf("%d ",n);
}
结果为:
4
5
6
如果改成
for(i=1;i<=3;i++)
{
intn=3;
n=n+1;
printf("%d ",n);
}
结果为:
4
4
4
这是因为
static声明的变量是在编译时进行赋值而不是在程序执行过程中赋值,而编译只会进行一次
最后unsigned int 是数据类型,就是说变量在计算机中的储值方式,unsigned int是无符号整形的意思,无符号是指计算机不会把二进制数据的首位当做符号来处理,(2进制的最高位作为符号位‘1’为负‘0’为正)其本身储值方式与int相同 。
④ 为什么在C语言中静态变量的初值是0
静态变量的声明点似乎相当于全局变量,按照全局变量的初始化规则来初始化为0
⑤ C语言的变量初始值都=0为什么等于别的可以吗啊
你好~
只有在你未对变量赋初值的前提下变量的值才会为0~
其实你可以理解为系统赋的值~
你可以对其进行赋值~
定义中赋值方式为 int a=8;(对其他类型赋值时类似)
定义后赋值方式为
int a;
a=8;
⑥ c语言初值
题中的变量为局部变量,默认是没有初始值的。全局变量一般默认初始值为0
1中n没有初始值,初始值为原来储存单元里的值(不可知)
2中的n赋予了初值0
你输出不同不是因为初始化的问题,而是逻辑问题。
⑦ c语言中,定义一个数组,其中每个变量的初始值是0吗
如果是一个整型数组,而且没有初始化的话,默认值是0,如果有初始化,则以初始化的值为主
⑧ 在c语言用一条语句定义一个整型变量,并且初始化为0,则应怎么编程序
0,大部分编译器如此,但也有编译器不是这样,比如vc。
但是GNU的编译器一般是0但无论如何,定义而不初始化是不提倡的
vc是一个随机数,如果是没用过的内存就是0,如果是使用过再释放的内存,就是释放前的值了