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

相关推荐
Sunsets_Red11 小时前
ABC462D 题解
c++·数学·编程·比赛·atcoder·信息学竞赛·信息学
喵星人工作室11 小时前
C++火影忍者1.1.8
开发语言·c++·游戏
凡人叶枫11 小时前
Effective C++ 条款26:尽可能延后变量定义式的出现时间
linux·开发语言·c++·effective c++
加油码11 小时前
位图 BitMap:用一个 bit 管一个状态,空间直接省到位
c++·算法
四代水门11 小时前
LeetCode刷算法题(C++)
c++·算法·leetcode
unicrom_深圳市由你创科技20 小时前
哪些控制逻辑应该放在 PLC,哪些放在上位机?
c++
玖玥拾21 小时前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
ao-weilai1 天前
C++:哈希表
c++·哈希算法·散列表
汉克老师1 天前
GESP7级C++考试语法知识(二、指数函数(1、pow() 函数)
c++·指数函数·pow·gesp7级·精度误差
旖-旎1 天前
FloodFill(图像渲染)(1)
c++·算法·深度优先·力扣