c与c++代码关于结构体的区别

本文通过对比C++中的结构体与C语言中的结构体,解析了两者之间的联系与区别。C++中的结构体可以包含方法,但实际上这些方法并不占用额外的空间;而在C语言中,结构体仅能包含数据成员,若要实现方法,则需借助外部函数并传入结构体指针。

学习了吕鑫老师的视频讲解,搞清楚了c++的结构体和类与c的结构体之间的联系和区别。

其实在c++中结构体的方法并不占用空间,仅有属性占空间。c++不过是对c的美好封装。

比如c++定义的结构体代码如下:

struct SDate
{
int year;
int month;
int day;
void setdate(int y, int m, int d)
{
year = y;
month = m;
day = d;
}

};

其实质对应的c代码为:

struct SDate
{
int year;
int month;
int day;
};
void setdate(struct SDate *p,int y, int m, int d)
{
p->year = y;
p->month = m;
p->day = d;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值