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语言中的结构体成员默认是公共的,没有访问修饰符的概念。

相关推荐
情缘晓梦.10 分钟前
C++ 内存管理
开发语言·jvm·c++
恒者走天下24 分钟前
研一、大一大二学计算机应该怎么规划
c++
我是一只小青蛙88842 分钟前
Windows下MATLAB与C++混合编程实战
c++
玖釉-1 小时前
[Vulkan 学习之路] 11 - 组装流水线:固定功能阶段 (Fixed Functions)
c++·windows·图形渲染
f狐0狸x1 小时前
【C++修炼之路】C++string的用法
开发语言·c++·string
阿豪只会阿巴1 小时前
【多喝热水系列】从零开始的ROS2之旅——Day9 初识话题通信:基本命令
c++·笔记·python·ubuntu·ros2
码小猿的CPP工坊2 小时前
C++弱引用智能指针std::weak_ptr使用介绍
开发语言·c++
暮色_年华2 小时前
随想3:关于语音采集线程 使用 CFS 调度或者 SCHED_FIFO 的思考
c++
Flash.kkl2 小时前
Linux——线程的同步和互斥
linux·开发语言·c++