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

相关推荐
HABuo17 小时前
【linux(四)】套接字编程--基于UDP协议的客户端服务端
linux·服务器·c++·网络协议·ubuntu·udp·centos
j_xxx404_1 天前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
c++之路1 天前
C++23概述
java·c++·c++23
leo__5201 天前
IEC 104 协议 C 语言实现
c语言·数据库
学涯乐码堂主1 天前
有趣的“打擂台算法”
c++·算法·青少年编程·gesp
云栖梦泽1 天前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
Gary Studio1 天前
安卓HAL C++基础-智能指针
开发语言·c++
还是阿落呀1 天前
基本控制结构2
c++
啧不应该啊1 天前
Day1 Python 与 C 的类型区别
c语言·开发语言
多思考少编码1 天前
PAT甲级真题1001 - 1005题详细题解(C++)(个人题解)
c++·python·最短路·pat·算法竞赛