一个比较好的链接:https://blog.csdn.net/u013632190/article/details/47720703
C和C++在结构体的不同
1、C语言结构体的定义与使用
定义:
struct Stu
{
char name[20];
int age;
char sex;
char num[20];
};
使用:
struct Stu stu1;
struct Stu stu2[5];
C++语言结构体的定义与使用
定义:
struct Stu
{
char name[20];
int age;
char sex;
char num[20];
};
使用:
Stu stu1;
Stu stu2[5];
(定义的时候,C/C++没多大的区别,在使用的时候C需要在前面添加struct)
那么如何不添加struct,从而和C++一样呢?需要typedef的帮助
定义:
typedef struct Stu
{
char name[20];
int age;
char sex;
char num[20];
}Stu;
相当于先使用sturct Stu定义一个结构体,然后使用typedef给sturct Stu一个新名字:typedef sturct Stu Stu;
使用:
Stu stu1;
Stu stu2[5];
或者
定义:
typedef struct
{
char name[20];
int age;
char sex;
char num[20];
}Stu;
使用:
Stu stu1;
Stu stu2[5];
2、C语言的结构体中不可以放入函数成员,但是C++可以
举例:
struct Stu
{
char name[20];
int age;
char sex;
char num[20];
void fun(){
printf("test\n")
}
};
此处添加利用一个函数fun(),在C语言中是错误的,但是在C++中是可以运行成功的;