define和typedef区别

本文探讨了C语言中#define和typedef的主要区别。#define是预处理器指令,用于进行宏替换,而typedef则用于创建类型别名。虽然两者都能创建新的类型名称,但typedef更侧重于类型定义,而#define则是简单的文本替换。通过typedef,可以更好地表达类型的含义,而#define则较为直接和简单。

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

#define和typedef区别**

在说区别之前,先看看下面定义了几个指针?

int* p1, p2, p3;

这下面定义了几个指针?

#define INTD int*
INTD p1, p2, p3;

这个呢?

typedef int* INT; 
INT p1, p2, p3;

#define //宏定义命令
宏替换?->宏定义好后,在程序中使用宏名就称为宏替换。
定义 替换-> 顾名思义。

#define INTD int*

就是程序中出现int*标识符就替换成INTD字符串

typedef 起别名

typedef int* INT; 

int*是你的真名,INT是你的绰号,但表示的还是你这个人,意思一样。(或许你不理解,不理解就算了吧,直接看程序吧)

#include<stdio.h>
#define INTD int*//宏定义   宏替换
typedef int* INT; //起别名
int main()
{
	int* p1, p2, p3;//定义一个指针p1
	INTD p1, p2, p3;//定义一个指针p1,宏替换

	INT p1, p2, p3;//定义三个个指针p1,p2, p3,起别名

	while (1);
	return 0;
}

总的来说,typedef 感觉表达的更深层次,#define比较浅显。
自己意会吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值