C语言中有些变量可以不赋初值而有些不行为什么??
C语言中变量不赋初值是不能”使用“的。这个”使用“是指读取变量的内容。因为,未赋初的变量中存储的数据是个随机值,其值不确定。随机值的产生原因:变量都是存储在内存中的。程序运行以后,会在内存中给各个变量安置住处,这些地方以前可能有别的程序用过,里面留有上次使用后的结果数据,但系统不...
C语言中为什么有些变量可以不赋初值而有些不行,如下图
回答:上图不行是因为b是作为判断条件的如果b没有赋初值可能会得到一个随机数,就会得到一个想不到的结果,而下图x1是一个普通变量它不是作为判断条件的,你可以把x1理解成一个容器,它等待往里面放东西,而在x1=2*(x2+1)这条语句中,x1盛放了东西,所以最后能正确输出结果。
c语言为什么整型变量未赋值是随机值,而二维数组未赋值是0
1.在C语言中,“初始化”和“赋值”是两个不同的概念。楼主问题中应该是“初始化”而非“赋值”。int a = 0; 在声明一个变量的时候指定变量的值,这叫做初始化;int a; a = 2; 这叫做赋值。2.auto变量处于运行时堆栈。它的特点:在调用一个函数的过程中,这个函数内部的auto变量才存在,当...
C语言中,为什么有的字符数组要后面要加\\0,有的不要加?
这个程序此处不加也没有问题的。因为接下来是先gets(str);然后再使用的。在函数内部定义的变量或数组,都是要先经过赋值后才能运用的,否则其中的值不确定。如果在程序代码中先经过赋值后再应用,那么在声明变量时可以不赋初值的。
C语言中每个变量都要赋值吗
除了引用以外一般的变量的不一定需要赋值,但是为了避免一些不必要的问题最好还是给变量赋个初始值
c语言中int定义变量时应注意些什么?何时需要加初值,何时不需要?
完全是根据自己需要的你首先声明了一个变量 int a;如果你以后用的a的时候是给a赋值的语句,那有无初值都没关系了.如果之后第一次用的时候不是给a赋值的语句,那就根据你的用法适当给个初值了,比如说以后你用到a的地方都是a++;那么显然要给a个初值了(比如0或者1什么的,完全根据自己需要) 总的来...
C语言指针变量为什么要赋初值?
1、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。2、指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了...
C语言中用const声明全局变量赋初值和不赋初值有何区别?变量存放位置...
const 定义的常量 是赋初值的 不赋初值 就没法给值了 因为const 常量 放在系统常量区 那里的内存是只读的 除非强制转换为非const类型 否者无法修改其内容
c语言在对指针*P在进行赋值时,什么时候用变量名赋值,什么时候用变量的地...
C\/C++编译器不负责边界越界检查,这个工作由程序员负责,换句话说,编译器无法根据一个指针判断指向的内存是单个变量还是数组。以上是指针赋值的要求,其实很简单,类型一致就可以赋值。取地址部分 对于单个变量,需要取地址时,必须用&显式地告诉编译器,否则编译器隐式转换按取值处理,即默认取值。对于数组...
C语言中声明变量后赋值和初始化变量的区别在哪里
赋初值一般而言是指逻辑意义上的初始化。在C语言中,由于初始化的语法是“=”后加初值,所以“赋初值”基本上就是指语法上的初始化。不过随着语言的发展,“赋初值”的意义发生了扩大。对有构造语义但又允许不初始化而不产生编译错误的程序设计语言而言,两者有些微妙的差别。例如C++的构造函数中,用...