C语言特有的功能-预处理

本文探讨了C语言的预处理特性,包括无参数和带参数的宏定义。无参数宏定义常用于定义常量,如PI,而带参数的宏则提供了一种简化代码的方式。宏定义与typedef的主要区别在于前者是字符串替换,后者是对类型名的重命名。此外,文章还提到了文件包含和条件编译等预处理指令的应用。
摘要由CSDN通过智能技术生成

 

(一)无参数的宏定义:

#define PI 3.14159  (无;),终止宏定义作用域使用#undef,习惯用大写字母表示,可以嵌套如,可用宏定义表示数据类型,使书写方便,

#define PI 3.14159
#define S PI*r*r

宏定义与typedef定义的区别:宏定义只是简单的字符串代换,是预处理,typedef是条语句(;),在编译时处理,不是简单代换而是对类型说明符的重新命名;

#include <stdio.h>
#define PIN1 char*
typedef char* PIN2;

void main()
{
	PIN1 x,y;//4 1
	//char *x,y;
	PIN2 a,b;//4 4
	//char *a,*b;
	printf("By #define:%d %d\n\n",sizeof(x),sizeof(y));
	printf("By typedef:%d %d\n\n",sizeof(a),sizeof(b));
}

对输出格式宏定义,可简化书写;

#include<stdio.h>
#define P printf
#define D "%d\n"
#define F "%f\n"
void main()
{
	int a=5,c=8,e=11;
	float b=3.8,d=9.7,f=21.08;
	P(D F,a,b);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值