C++和C语言区别(二)附二级指针的动态内存申请

本文对比了C++和C语言在结构体定义、动态内存管理和string类型的使用上的区别。C++结构体允许包含函数,并提供了new和delete进行动态内存申请;而C语言则依赖malloc等函数。此外,C++的string是自定义类型,不兼容C语言的字符串处理函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构体区别

1.定义结构体与C语言一致

2.定义变量可省略关键字struct

3.C++结构体中允许函数存在(C++在没有写构造函数和权限限定的时候,用法和C语言一致)

(1)函数可以直接在结构体中实现,也可在结构体中声明,在结构体外实现,

(2)结构体中函数可以直接访问结构体中数据

(3)学会调用:

         对象(结构体变量).成员

         对象指针->成员

         (*对象指针).成员

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

struct MM
{
	//属性,特性    数据成员
	char name[20];
	int age;
	void print()//行为方法      成员函数
	{
		cout << name << "\t" << age << endl;
	}
	void printData();//结构体中声明
	int& putage()
	{
		return age;
	}
};

void MM::printData()//在结构体外实现
{
	cout << name << "\t" << age << endl;
}

//结构体中的变量必须要通过结构体变量(结构体指针)访问
//C++结构体中的函数可以直接访问属性
int main()
{
	MM a = {"tatata",21};//等效于struct MM a;
	a.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值