C++和C中的struct 和public有什么区别

在C++和C语言中,structpublic 关键字分别具有不同的作用,它们的主要区别在于以下方面:

  1. struct(结构体):

    • 在C语言中,struct 用于定义自定义的复合数据类型,可以包含不同类型的成员变量。C语言中的结构体默认成员是公共的,也就是说,在结构体外部可以直接访问其成员。

    • 在C++中,struct 也可以用来定义类似于C语言中的结构体,但与C语言不同的是,C++中的结构体可以包含函数(成员函数),称为"成员函数"。C++中的结构体默认的成员访问级别是 public,这意味着结构体的成员在外部是公开可见的,可以直接访问。

  2. public

    • 在C++中,public 是一个访问修饰符,用于声明类的成员的访问级别。public 成员可以被类的外部代码访问。

    • 在C语言中,public 关键字不存在。在C中,结构体中的所有成员都是默认公共的,因此任何文件中的代码都可以访问结构体的成员。

因此,主要区别在于C++中的结构体默认成员访问级别是 public,而C语言中的结构体成员默认是公共的,没有访问修饰符的概念。

相关推荐
MSTcheng.10 分钟前
C语言操作符(上)
c语言·开发语言
Ritsu栗子28 分钟前
代码随想录算法训练营day35
c++·算法
好一点,更好一点38 分钟前
systemC示例
开发语言·c++·算法
卷卷的小趴菜学编程1 小时前
c++之List容器的模拟实现
服务器·c语言·开发语言·数据结构·c++·算法·list
年轮不改1 小时前
Qt基础项目篇——Qt版Word字处理软件
c++·qt
玉蜉蝣1 小时前
PAT甲级-1014 Waiting in Line
c++·算法·队列·pat甲·银行排队问题
半盏茶香3 小时前
扬帆数据结构算法之雅舟航程,漫步C++幽谷——LeetCode刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
数据结构·c++·算法
哎呦,帅小伙哦3 小时前
Effective C++ 规则41:了解隐式接口和编译期多态
c++·effective c++
DARLING Zero two♡4 小时前
【初阶数据结构】逆流的回环链桥:双链表
c语言·数据结构·c++·链表·双链表
9毫米的幻想4 小时前
【Linux系统】—— 编译器 gcc/g++ 的使用
linux·运维·服务器·c语言·c++