本篇文章给大家谈谈c语言结构数组赋值,以及c语言 数组 赋值对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
C语言中结构体中的数组,不能直接赋值吗?
数组不能整体赋值,需要逐个元素赋值,但是如果这个数组是一个结构体的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:tmark=tmark;//非法,数组不能直接整体赋值。
//structstudent***ao={3,123};可以。
数组是不能被直接赋值,但是数组可以在声明的同时进行初始化。可以用puts(stu[1].name);进行输出。
C语言里如何给结构体成员(一个数组)赋汉字值?
可以通过给字符数组赋值来解决。就是变量b需要定义为字符数组。
在C语言中,可以通过将汉字作为字符串输入。由于一个汉字占2个字节,所以对汉字的操作,只能以2个字节作为操作单位。
用字符常量逐个初始化数组。例如:char a[8]={i,l,o,v,e,y,o,u};把8个字符依次分别赋给c[0]~c[7]这8个元素。
你把scanf(%f,(&(s+i)-score[j]);这个语句改为:scanf(%f,&(s[i].score[j]);这样试试。
c语言结构体数组赋值
scanf(%c%c%c,&a,&b,&c);输入为:d e f 则把d赋予a, (空格)赋予b,e赋予c。因为%c 只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此把 作为下一个字符送给b。
用字符常量逐个初始化数组。例如:char a[8]={i,l,o,v,e,y,o,u};把8个字符依次分别赋给c[0]~c[7]这8个元素。
数组不能整体赋值,需要逐个元素赋值,但是如果这个数组是一个结构体的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:tmark=tmark;//非法,数组不能直接整体赋值。
c语言只有在定义字符数组的时候才能用“=”来初始化变量,其它情况下是不能直接用“=”来为字符数组赋值的,要为字符数组赋值可以用string.h头文件中的strcpy函数来完成。
结构体二维数组的赋值可对结构体变量的成员逐个赋值,这种方式和数组相像,数组就是逐个元素逐一赋值,于数组,标准C中结构体变量可以整体赋值。
因为数组名就是数组第一个元素的指针常量,是一个常量左值。可以赋值的必须是非常量左值,常量左值和右值是不可以被赋值的。 以上是我个人的理解,有疑问继续追问。
c语言结构数组赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 数组 赋值、c语言结构数组赋值的信息别忘了在本站进行查找喔。