include <stdio.h>
struct st2
{
char name[20];//姓名
int age;//年龄
double c;//double数
};
void init(struct st2* temp)
{
temp->age = 10;
temp->name = "zhangsan";//此处报错
temp->c = 3.1415926;
}
int main()
{
struct st2 a = { 0 };
init(&a);
printf("%d", a.age);
printf("%s", a.name);
}
先说必要的:
const
修饰,这会导致编译警告。char[]
赋值一个字符串常量的行为,只能在初始化时使用。而后想要以类似的方式修改char[]
,请使用strcpy()
。其他的:
a
声明时,缺少了struct
关键字。init()
修改结构体,那么请传递指针。