在C++和C语言中,struct
和 public
关键字分别具有不同的作用,它们的主要区别在于以下方面:
-
struct
(结构体):-
在C语言中,
struct
用于定义自定义的复合数据类型,可以包含不同类型的成员变量。C语言中的结构体默认成员是公共的,也就是说,在结构体外部可以直接访问其成员。 -
在C++中,
struct
也可以用来定义类似于C语言中的结构体,但与C语言不同的是,C++中的结构体可以包含函数(成员函数),称为"成员函数"。C++中的结构体默认的成员访问级别是public
,这意味着结构体的成员在外部是公开可见的,可以直接访问。
-
-
public
:-
在C++中,
public
是一个访问修饰符,用于声明类的成员的访问级别。public
成员可以被类的外部代码访问。 -
在C语言中,
public
关键字不存在。在C中,结构体中的所有成员都是默认公共的,因此任何文件中的代码都可以访问结构体的成员。
-
因此,主要区别在于C++中的结构体默认成员访问级别是 public
,而C语言中的结构体成员默认是公共的,没有访问修饰符的概念。