c语言变量初始化的方式

c语言中,对变量的初始化可以归纳为几种的方式?分别是什么?

变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。

初始化的方式一般有如下两种:

1、直接对变量进行赋予常量数值进行初始化;

2、通过同类型变量进行初始化。


举例说明如下:

// 以下属于第1种初始化方式
int a1=5;           // 整型变量的初始化
int b1[]={1,2,3,4}; // 整型数组的初始化
char str1[]="abcd"; // 字符数组的初始化
// 以下属于第2种初始化方式
int a2 = a1;        // 整型变量的初始化
int b2[4] = b1;     // 整型数组的初始化
char str2[4] = str1;// 字符数组的初始化
char *p = str1;     // 字符指针的初始化

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-20
全局变量的初始化 对于不同编译单位的全局变量,其初始化的顺序没有任何的保证,因此对不同编译单位里的全局变量,在它们的初始化顺序之间建立依赖性都是不明智的。 此外也没办法捕捉到全局变量初始化抛出的异常,一般来说要减少全局变量的使用,特别是限制那些要求复杂初始化的全局变量。
1,尽量不用全局变量
2,用静态变量,通过访问器进行访问 例如:全局变量
int a = 5;
int b = a;
如果a,和b定义在同一个文件里,那没什么问题,结果b等于5.
如果a和b定义在不同文件里,就不能保证b也等于5,也就是说不能保证a先初始化. 事实上,除了在同一个文件定义的全局对象的初始化是按照定义次序来进行的之外,其他全局或静态变量之间的初始化次序没有任何保障。解决这种问题的方法是不直接使用全局变量,而改用一个包装函数来访问,例如
int get_a()
{
static int a = 5;
return a;
}
int get_b()
{
static int b = get_a();
return b;
}
第2个回答  2013-12-20
这个就只有二种,一种、在定义是就初始化 二种、就是先定义,在初始化
第3个回答  2013-12-20
在程序中自己定义副初值 或者在程序的开头定义撒
第4个回答  2013-12-20
多看看书吧 已发到你邮箱

c语言变量初始化的方式
初始化的方式一般有如下两种:1、直接对变量进行赋予常量数值进行初始化;2、通过同类型变量进行初始化。举例说明如下:\/\/ 以下属于第1种初始化方式int a1=5; \/\/ 整型变量的初始化int b1[]={1,2,3,4}; \/\/ 整型数组的初始化char str1[]="abcd"; \/\/ 字符数组的初始化\/\/ 以下属于第2种...

c语言初始化赋值的一般形式公式
C语言的变量初始化,就是在定义变量的时候,赋予一个初始值。形式为 type var_name = init_value;其中init_value就是初始化值了。类似于 type var_name;var_name = init_value;不过,基于编译器的实现,一般初始化值的方式要比先定义后赋值更高效。另外,有些初始化是必须的。比如常量的定义,必须...

C语言怎样初始化变量?
就是在定义一个变量的时候给他赋值。比如:……main(){ int i = 0;\/\/这里就是C的初始化 i = 3;\/\/这里是正常的语句 printf("%d\\n", i);} 如果你不写int i = 0; 只是 int i;如果你一旦漏写了 i = 3;那么你再写 printf("%d", i);可能出现乱码,而你找不出来。如果你写了i ...

c语言中局部变量初始化是什么意思,怎么初始化?
“局部变量初始化”是指在使用这个局部变量前,要对其进行初始化。这是因为局部变量是从内存堆中分配的,用完就还给内存堆,所以被分配的局部变量并不一定是0,而很可能是其他地方用过的一个值,因此在使用这个变量之前,要对它进行显示初始化。初始化可以用两种方式(假设初值为0):声明变量是赋值:in...

在C语言中怎么给一个变量的初值赋另一个函数的返回值
一、在C语言中,定义变量同时,给变量赋值,称为初始化。二、初始化形式为 TYPE var_name = INIT_VALUE;其中TYPE为变量类型, var_name为变量名, INIT_VALUE为初始值。三、要用函数返回值作为初始化,那么只需要把函数调用写在INIT_VALUE区域即可。 示例代码如下:include <stdio.h>#include int m...

c语言for语法初始化用等于==不用赋值符号=会怎样?
在 C 语言的 for 循环中,通常使用等于符号 "==" 来进行变量的初始化操作,而不是赋值符号 "="。如果误用赋值符号 "=",会导致循环的初始化操作出现错误。例如,以下代码使用了赋值符号 "=" 来进行变量的初始化:```c for (int i = 0; i < 10; i++) { printf("%d ", i);} ```...

在c语言中,局部变量初始化是什么意思,要怎么初始化?
按作用域,C语言一般分为全局变量和局部变量。全局变量一旦声明就被默认初始化为适当类型的0,而局部变量被声明的时候其值是不可预料的,所以为了后续程序的正常使用,最好将其认为地初始化,否则有时会有灾难性的后果!第二个问题,例如:int main(){ char a;\/\/没有被初始化,可以在后面初始化...

C语言中局部变量的初始化是什么?
1、全局变量,包括静态全局变量,和非静态全局变量,在没有初始化值时,其值自动为0.即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0。2、静态局部变量。当定义在函数内的局部变量,有static 标记时,默认初始化为0值。3、非静态局部变量,无默认初始值,C标准规定初始化值...

c语言中,变量为什么要初始化为0?
原因:sum的初始化为0,也就是令sum等于0,防止下面使用的时候,sum是一个不可预料的值。1、常量其值不可改变,符号常量名通常用大写。2、变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不...

C语言程序中定义的变量要取得一个初始值一般有哪几种方法?
一、不指定:全局及静态变量默认0,局部变量随机值。二、定义同时赋初值:比如int a=1;char str[]="abc";三、定义时未赋初值,在使用前赋值。比如int a;a=1;printf("%d",a);ps:注意函数内静态变量定义给初值和之后赋值是有区别的,静态变量的定义赋初值语句,只在第一次调用函数时执行,如...

相似回答