当前位置:首页 » 编程语言 » c语言给结构体数组赋值

c语言给结构体数组赋值

发布时间: 2025-05-25 13:22:40

c语言中怎么给数组赋初值

inta[5]={1,2,3,4};
charb[]="abcdefg";

数组定义时可以直接赋值初始化。

如果在定义之后,要么通过循环语句一个一个赋值,要么使用内存操作函数统一初始化。

② c语言结构体中的一个char数组怎么赋值

(1)用字符常量逐个初始化数组。例如:

char a[8]={'i','l','o','v','e','y','o','u'};

把8个字符依次分别赋给c[0]~c[7]这8个元素。

如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。

如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'')。

如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。

例如:char c[]={‘c’,‘’,‘p’,‘r’,‘o','g','r','a','m'};

这时c数组的长度自动定为9。也可以定义和初始化一个二维字符数组,例如:

char diamond[5][5]={{'','','#'},{'','#','','#'},{'#','','','','#'},

{'','#','','#'},{'','','#'}};用它代表一个菱形的平面图形。

(2)字符串常量初始化数组。例如:

char c[]={‘c’,‘’,‘p’,‘r’,‘o','g','r','a','m'};

可写为:char c[]={"C program"};

或去掉{}写为:char c[]="C program";

注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个''。上面的初始化与下面的初始化等价。

char c[]={‘c’,‘’,‘p’,‘r’,‘o','g','r','a','m',''};

(2)c语言给结构体数组赋值扩展阅读:

其定义的一般形式是:char数组名[数据长度]

例如:

char c[10];

c[0]='I';c[1]='';c[2]='l';c[3]='o';c[4]='v';c[5]='e';c[6]='';c[7]='y';c[8]='o';c[9]='u';

以上定义了c为字符数组,包含10个元素。

由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:

int c[10];

但这时每个数组元素占2个字节的内存单元,浪费存储空间。

字符数组也可以是二维或多维数组,例如:

char c[5][10];

即为二维字符数组。

初始化

字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。

输入输出

字符数组的输入

(1)用getchar()或scanf()的'%c'格式符对数组进行字符赋值。例如,对于数组a[10]:用getchar()赋值:

for(i=0;i<10;i++)

a<i>=getchar();

用scanf()赋值:

for(i=0;i<10;i++)

scanf("%c",&a<i>);

(2)用scanf()的'%s'格式对数组赋值。还是对于数组a[10]:

scanf("%s",a);

scanf("%s“,&a[0]);

输入”C program“并回车时,a数组会自动包含一个以”“结尾的字符串”C program“。

字符数组的输出

(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:

for(i=0;i<10;i++)

a<i>=putchar();

用printf()赋值:

for(i=0;i<10;i++)

printf("%c",a<i>);

输出结果为:

c program

(2)用printf()的'%s'格式对数组赋值。还是对于数组a[10];

printf("%s",a);

输出结果为:

c program

热点内容
服务器怎么配管理ip和业务ip 发布:2025-05-25 17:38:17 浏览:528
安卓用电脑验机用什么软件 发布:2025-05-25 17:32:56 浏览:183
单位电脑检查代理服务器防火墙 发布:2025-05-25 17:31:15 浏览:944
华为手机怎么刷机解锁密码 发布:2025-05-25 17:30:33 浏览:382
查询表名的sql语句 发布:2025-05-25 17:26:42 浏览:299
华硕电脑连接不上服务器 发布:2025-05-25 17:15:32 浏览:393
linux驱动开发环境 发布:2025-05-25 17:11:13 浏览:397
贪心算法例子 发布:2025-05-25 17:09:37 浏览:235
android版本与api 发布:2025-05-25 17:03:11 浏览:360
服务器监测电脑 发布:2025-05-25 17:01:42 浏览:113