C语言难点专题——预定义

C 语言类型定义粗略分为两块: 第一: 符号替换类型(#define) , 第二: 类型替换(#typedef)

第一种: 符号替换类型(#define)

第一种致命武器是无所不能的代替作用, 这里是裸替, 直接替换,比如章子怡同学不愿被剥光, 就请邵小珊同学裸替一下,技术含量相当不高, 一个肉身替换为另一个肉身。

#include <stdio.h> #define globalValue 100 #define printdebug printf("x is / %d/n",x) int main() { if (10 < globalValue) { printf("small than 100/n"); } int x = 10; printdebug; return 0; }

上面的两个例子, 只不过告诉各位: 这是赤裸裸的代码替换, 实在是没什么好讲的。

第二种比较有杀伤力的武器出现, 能传递部分值的替换

#include <stdio.h> #define multi(x, y) x * y int main() { int x = 10; int y = 8; printf("%d/n", multi(x,y + 1)); printf("%d/n", multi(x, 9)); }

注意上面得到的结果是不同的,原因是, 依然是裸替,虽然允许部分传参, 但形势跟之前还是没有任何区别。

为了防止穿帮,裸替的对象需要加括号:

#define multi(x, y) (x) * (y)

第二种: 类型替换(#typedef)

1. 预定义一个基本类型

2. 预定义一个函数类型

后续补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值