C语言与c++中的struct
时间: 2024-03-10 18:49:00 浏览: 73
在C语言和C++中,struct是一种用户自定义数据类型,用于封装多个不同类型的数据成员。struct在C语言和C++中的使用方式略有不同。
在C语言中,定义struct需要使用关键字struct,然后指定一个结构体名称和结构体包含的数据成员。例如:
```
struct student {
char name[20];
int age;
float score;
};
```
在C++中,定义struct也需要使用关键字struct,但是可以省略结构体名称后面的分号。同时,C++支持在struct中定义成员函数。例如:
```
struct Student {
char name[20];
int age;
float score;
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Score: " << score << endl;
}
};
```
相关问题
在C语言中struct 和 class的区别,在C++中struct 和 class的区别
在C语言中,struct 和 class 的区别主要体现在成员的默认访问权限上。struct 中的成员默认为 public,而 class 中的成员默认为 private。此外,C语言中的 struct 不能包含成员函数,而 class 可以包含成员函数。
在C++中,struct 和 class 的区别在于默认的继承访问权限。struct 的继承访问权限默认为 public,而 class 的继承访问权限默认为 private。此外,C++中的 struct 和 class 本质上没有区别,它们只是语法上的不同。
c++中struct怎样初始化
在C语言中,可以使用以下两种方式初始化struct:
1. 使用成员列表初始化:
struct person {
char name[20];
int age;
};
struct person p = {"John", 25};
2. 逐个赋值初始化:
struct person {
char name[20];
int age;
};
struct person p;
p.age = 25;
strcpy(p.name, "John");
注意,在使用成员列表初始化时,必须按照struct定义中成员的顺序进行初始化,而逐个赋值初始化则不需要遵循顺序。
阅读全文