
正文
c语言结构体赋值strcpy,c语言结构体赋值例子
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言结构体中的一个char数组怎么赋值?
intmain(void){ structstudentsbao={};printf(%d,%s\n,bao.id,bao.name);//输出是4224528,空(应该是null)//structstudentsbao={3,123};可以。
st.name=123; 非法,常量字符串不能直接赋值给字符数组,因为st.name 地址是确定的,不能再改了。 char name[10]=123;可以的,定义时,进行初始化字符数组。
char a[15] ; //定义了一个数组成员,最多可输入14个字符 } Type s ; //用 Type 类型定义一个结构体变量 s ;s.a = abcdef ; //给结构体变量 s 赋值为 abcdef 。
c语言只有在定义字符数组的时候才能用“=”来初始化变量,其它情况下是不能直接用“=”来为字符数组赋值的,要为字符数组赋值可以用string.h头文件中的strcpy函数来完成。
数组不能整体赋值,需要逐个元素赋值,但是如果这个数组是一个结构体的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:tmark=tmark;//非法,数组不能直接整体赋值。
相关问答
Q1: c语言结构体数组赋值,为什么我赋值时就出错?
你第一次赋值就不对,这种赋值方式只能在声明初始化时,不能这样,数组是不能整体赋值的。int a[3]={1,2,3};这样是可以的,而像你那样不对。下面的for循环才是正确的赋值方式。
c语言只有在定义字符数组的时候才能用“=”来初始化变量,其它情况下是不能直接用“=”来为字符数组赋值的,要为字符数组赋值可以用string.h头文件中的strcpy函数来完成。
你再 L-length=100; 改变这个内存空间中存的值,他当然是错的。main函数改一下:int main(){ int i;SqList lList={0};SqList *L=//让L指向 lList所处的内存空间。
你的reserve函数错了,你给这个函数定义的形参,有数组(iArray[ ])和整型(iCount)但是你在main函数中却没有给它传递这个参数进去。你的意思应该是把所有数组的reserve写在那个函数里,你应该这么写。
//这时的a[3]是一个数组元素,不代表整个数组。
是你对字符数组的使用没有掌握。xiao.name[i]是一个char类型的数组元素,不能将一个字符串常量的首地址赋值给它。要将字符串保存到字符中,应该使用strcpy函数。
Q2: 请问,c语言中如何对结构体中某一特定成员赋值
printf(%d,%s\n,bao.id,bao.name);//输出是4224528,空(应该是null)//structstudentsbao={3,123};可以。
C语言中,数组间不能相互赋值——这是历史遗留问题,当年在B语言中,数组名和指针名是没有区别的(除了数组名定义时自动为数组分配内存),数组名可以指向别的对象或数组。换句话说,数组名之间的赋值是浅赋值。
不知道你这又是哪位学艺不精的C语言大师编的书,别的不说,那个自定义函数getdata就不规范,居然定义的时候不说明返回值类型,这水平也真敢出书。
结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存。
Q3: C语言结构体数组成员怎么赋值?
结构体二维数组的赋值可对结构体变量的成员逐个赋值,这种方式和数组相像,数组就是逐个元素逐一赋值,不同于数组,标准C中结构体变量可以整体赋值。
printf(%d,%s\n,bao.id,bao.name);//输出是4224528,空(应该是null)//structstudentsbao={3,123};可以。
{ char a[15] ; //定义了一个数组成员,最多可输入14个字符 } Type s ; //用 Type 类型定义一个结构体变量 s ;s.a = abcdef ; //给结构体变量 s 赋值为 abcdef 。
数组不能整体赋值,需要逐个元素赋值,但是如果这个数组是一个结构体的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:tmark=tmark;//非法,数组不能直接整体赋值。
按字符赋值。如结构体变量为a, 成员为字符数组s[10]; 那么可以 for(i = 0; i 10; i ++)a.s[i] = xxx;xxx可以是任意字符。比如getchar(),即从终端读取。2 用strcpy赋值。
关于c语言结构体赋值strcpy和c语言结构体赋值例子的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






