本文主要是介绍给结构体内数组赋值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C语言只有在定义字符数组时才能用 ‘=’ 来初始化赋值,其他情况不能用 =
如:
char a[20] ="hello world";
不能 char a[20];
a = "hello world";
但可用strcpy (a, "hello world"); //包涵<string.h>
结构体
typedef struct _stu
{
char name[20];
int num;
}stu; //此时sizeof(stu) = 24 不管有没有定义对象
如何给 name和num赋值?
方法一: 定义时立即初始化赋值
stu stu1 = {"zhou", 9} ; //注意:C语言里不要出现09字样, 以0开头为八进制,9又超过了八进制表示范围
方法二:strcpy
stu stu1;
strcpy(stu1, "zhou");
错误方法: stu stu1;
stu1.name ="zhou"; //这样犯了最上面所说错误,给地址赋值
但是可以: stu1.num = 9;
这篇关于给结构体内数组赋值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!