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

相关推荐
C++ 老炮儿的技术栈4 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl4 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628885 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星5 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
波特率1152005 小时前
const关键字与函数的重载
开发语言·c++·函数重载
干啥啥不行,秃头第一名6 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
2301_807367196 小时前
C++中的解释器模式变体
开发语言·c++·算法
always_TT7 小时前
C语言中的字符与字符串(char数组)
c语言·开发语言
forAllforMe7 小时前
LAN9252 从机寄存器配置--C语言举例
c语言·开发语言
17(无规则自律)7 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件