c语言定义结构体可以直接声明结构体变量的,如下
struct Student{
char *name;
int age;
}xiaoming
这样以来,我们就定义了一个结构体类型,同时声明了一个结构体变量xiaoming。那么。我们在main函数中怎样对这个结构体进行初始化呢?
可以这样
int main()
{
xiaoming.age = 15;
xiaoming.name = (char *)malloc(sizeof(char) * 20);
strcpy_s(xiaoming.name, 9, "xiaoming");
cout << xiaoming.name << endl;
}
首先对于指针必须要进行赋值操作,可以用new,也可以用malloc函数,这里我们为指针申请了20个字符的空间,然后才能对这个指针赋值操作,由于我用的vs平台,所以要使用strcpy_s函数进行赋值操作。
下面说一下结构体指针作为成员函数参数的使用
首先声明定义一个函数
void showStudentInfo(struct Student * s){
cout<<s->name<<endl;
cout<<s->age<<endl;
}
这样就声明好了,可以看到,函数的参数是结构体指针类型,下面我们调用它
showStudentInfo(&xiaoming)
这样就实现了这个函数的调用