1. 结构体的初始化
struct nub {
int a;
int name[10];
};
struct nub n = {.a = 10};
代码中,对于结构体变量的初始化: 使用 .属性名 的形式,来指定对哪个属性进行初始化(但是vs,vc是不支持的,gcc支持)
?
2. 可以直接将结构体赋值给另外一个结构体(和memcopy类似)?
?我们定义一个数组,是无法使用一个数组名 = 另一个数组名,来进行数组的赋值。
但是,结构体可以(即使它内部包含数组):就相当于时memcopy()一样的内存拷贝。?
#include <stdio.h>
#include <Windows.h>
#include <string.h>
struct student {
int a;
char name[10];
};
int main(void)
{
struct student stu1,stu2;
stu1.a = 10;
strcpy(stu1.name, "12");
stu2 = stu1; // 一个结构体的值可以赋值给另外一个
// 和memcpy类似
memcpy(&stu2, &stu1, sizeof(struct student));
printf("%d", stu2.a);
system("pause");
return 0;
}
?代码中:将stu1的值直接拷贝到stu2中了。(使用memcopy()函数也可以实现)。
?