c语言和c++结构体的区别
时间: 2023-12-18 08:26:06 浏览: 166
C++结构体应用
C语言和C++的结构体在定义和使用上有一些区别。
1. 定义方式不同:C语言中的结构体定义需要使用关键字struct,而C++中可以省略关键字struct。
例如,在C语言中定义一个结构体:
```
struct student {
char name[20];
int age;
};
```
而在C++中可以直接这样定义:
```
struct student {
char name[20];
int age;
};
```
2. 成员访问方式不同:在C语言中,访问结构体成员需要使用“.”运算符,而在C++中可以使用“.”或“->”运算符。
例如,在C语言中访问结构体成员:
```
struct student s;
s.age = 18;
```
而在C++中可以这样访问:
```
student s;
s.age = 18;
```
或者这样访问:
```
student *p = new student;
p->age = 18;
```
3. 结构体的默认访问权限不同:在C语言中,结构体的成员默认是公有的,而在C++中默认是私有的。
例如,在C语言中定义一个结构体:
```
struct student {
char name[20];
int age;
};
```
在C++中定义一个结构体:
```
struct student {
private:
char name[20];
int age;
};
```
阅读全文