在C语言中,各种数据的初始化值为空的代码是怎么写的?

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:32:41
在C语言中,各种数据( 整数型,字符型,各种数组(整数,字符,字符串,结构体等))的初始化值为空的代码是怎么写的?
这个问题要回答,量很大,我也用50分的最大值悬赏,第一次提问,欢迎大家回答.

C语言并没有空值这个概念,一般习惯上,指针若是指向地址0便是空值,其他数据若内容是0便是空值。填充一大片内存区域可以使用memset函数,它的填充长度是按字节计。

整形:int a = 0;

字符型:char a = 0;

数组:
int a[20];
memset( a, 0, sizeof(int)*20 );

C字符串只需要把第一个字符设为'\0'即可。
当然也可以全部清成0。
char a[20] = "ashdfuih";
memset( a, 0, sizeof(char)*20 );

例如有一个结构体Some x,可以这样清零:
memset( &x, 0, sizeof(Some) );

如果是一个结构体的数组Some x[10],可以这样:
menset( x, 0, sizeof(Some)*10 );

任何一个指针都可以通过直接赋为0变成空指针:
Some* p = 0;

int i = 0;
float i = .0;
char i = '\0';
char* i = 0;
char[10] i = {0};
struct T_ST t_st = {0};

这有代码吗,你只要在定义数据类型的时候不写数据就好了,这样就没有值了,也就为空了

C语言没有空值的概念.
一般来说可以赋值0.

很怪的问题 只声明一下,不赋值就应该是初始化为空的值