88问答网
所有问题
当前搜索:
c语言结构体数组赋值
C语言
中
结构体
中的
数组
,不能直接
赋值
吗
答:
intmain(void){ structstudentsbao={};printf("%d,%s\n",bao.id,bao.name);//输出是4224528,空(应该是null)//structstudentsbao={3,"123"};可以。第一种
赋值
方法 //strcpy(bao.name,"bao");//可以,//printf("%d,%s\n",bao.id,bao.name);//bao.name="bao";错误“stray'\351'in...
c语言结构体数组赋值
答:
char c[]={‘c’,‘’,‘p’,‘r’,‘o','g','r','a','m'};可写为:char c[]={"
C
program"};或去掉{}写为:char c[]="C program";注意:此时
数组c
的长度不是9,而是10。因为字符串常量的最后由系统加上一个'\0'。上面的初始化与下面的初始化等价。char c[]={‘...
C语言
中
结构体
中的
数组
,不能直接
赋值
吗
答:
数组
不能整体
赋值
,需要逐个元素赋值,但是如果这个数组是一个
结构体
的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:t1.mark=t2.mark;//非法,数组不能直接整体赋值。t1=t2;//合法,在此之后,t2.mark数组将被整体复制到t1.mark数组。
C语言
中怎么给一个
结构体
用scanf进行
赋值
?
答:
scanf("%
c
%c%c",&a,&b,&c);输入为:d e f 则把'd'赋予a, ' '(空格)赋予b,'e'赋予c。因为%c 只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此把' '作为下一个字符送给b。只有当输入为:def(字符间无空格) 时,才能把'd'赋于a,'e'赋予b,'f'赋予c。
结构体赋值
给
数组
答:
c语言
只有在定义字符数组的时候才能用“=”来初始化变量,其它情况下是不能直接用“=”来为字符
数组赋值
的,要为字符数组赋值可以用string.h头文件中的strcpy函数来完成。例如:char a[10]= "123";/*正确,在定义的时候初始化*/ char a[10];a = "123";/*错误,不能用“=”直接为字符数组...
C语言
里如何给
结构体
成员(一个
数组
)赋汉字值?
答:
{ char a[15] ; //定义了一个
数组
成员,最多可输入14个字符 } Type s ; //用 Type 类型定义一个
结构体
变量 s ;s.a = " abcdef " ; //给结构体变量 s
赋值
为 "abcdef" 。如果是想自己输入的话:gets( s.a ) ; 或者 scanf(" %s " , s,a ) ; //因为是数组,...
在
C语言
中,为什么
数组
之间不可以直接
赋值
,而
结构体
之间可以直接赋值...
答:
因为
数组
名就是数组第一个元素的指针常量,是一个常量左值。可以
赋值
的必须是非常量左值,常量左值和右值是不可以被赋值的。以上是我个人的理解,有疑问继续追问。
c语言结构体数组赋值
,为什么我赋值时就出错?
答:
因为cname是个
数组
,所以不能用"="
赋值
可以用strcpy函数复制字符串 strcpy(student[1].cname, bb); //这样复制
C语言
中怎么给
数组赋
初值
答:
数组赋值
可以通过以下几种方法:1、定义的时候直接赋初值(用{});2、用循环语句依次给数组各元素赋值;3、将数组放在一个
结构体
里面,通过结构体的引用给数组整体赋值;(数组本身不能直接整体赋值)
求助一个
C语言结构体数组赋
初值的问题
答:
price; int d;} Test;对
结构体赋值
,一般是顺序赋值,或者指定赋值 比如 Test test[] = { {1, "abc", 1, 2, 1.2, 3},//对应id, name, level, stock, price, d {.id = 2, .level=3, price=4.2, .stock=2},//这个就是指定赋值,点后面接的是结构体成员名};
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
结构体里面的数组如何赋值
结构体中两个数组之间的赋值
c语言数组直接赋值怎么写
c语言结构体存放16进制数
c语言结构体存放数据
c语言如何改变数组中的值
结构体添加数据c语言
int a[3][2]={1,2,3,4,5,6}
给结构体赋值