C语言typedefine 和define的区别

本文探讨了C语言中宏定义(#define)与类型定义(typedef)的区别,通过示例代码展示了两者在使用上的不同之处及它们如何影响变量声明。

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

define :

宏定义,在预编译阶段就进行处理,简单的字符串代换,





typedefine:

编译时进行处理,不是简单的替换,而是对类型说明符的重新命名。被命名的标识符具有类型说明的功能,



代码说明

#include <stdio.h>
#define P1 char*
typedefine char* P2;

int main()
{
    P1 x,y;
    P2 a,b;
    printf("by #define : %d\n",sizeof(x),sizeof(y));
    printf("by #define : %d\n",sizeof(a),sizeof(b));

rturn 0;
}

结果分别是 4,1

和 4,4;

说明#define宏替换的P1 x,y;变为char* x, y  只有X为char*类型。Y为char类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值