C语言学习笔记一(宏和常量)

1、 判断预处理命令是否被定义

#ifdef symbol

//statements

#endif

举例

#ifndef _toupper

#define _toupper ……..

#endif

2、 进行IF_ELSE预处理

#ifdef symbol

//statements

#else

//other statements

#endif

举例:

#ifdef _MSC_VER

printf(“Microsoft”);

#endif

#ifdef __BORLANDC__

printf(“Broland”);

#endif

3、 在程序中,作为变通,可以在程序中使用#if命令和defined运算符来判断程序是否对某些符号已经定义:

#ifdef MY_LIBRARY

#ifndef MY_ROUTINES

#include “my_code.h”

#endif

#endif

可以采用如下的格式进行转化

#if defined(symbol)

//statements

#endif

用户可以使用#ifdefined来创建包含C逻辑运算符(包括&&||、!)以下的结果与第一种一样但是感觉更加的明确

#if defined(MY_LIBRARY) &&!defined(MY_ROUTINES)

#include “my_code.h”

#endif

4、 创建自定义宏:宏允许用户创建类似函数、可带参数的操作。参数是用户传递给宏的值:

#include <stdio.h>

#define SUM(x,y) ((x) + (y))

void main()
{
     Printf(“Adding 3 + 5 = %d”, SUM(3,5));
}

预处理器对宏参数进行替换:

X=SUM(3,5)--------->预处理器-------------->X=((3+5))

5、 创建MINMAX

#define MIN(x,y)  ( ((x) < (y)) ? (x) : (y) )

#define MAX(x,y) ( ((x) > (y)) ? (x) : (y))

6、 创建SQUARECUBE

#define SQUARE(x)  ((x) * (x))

#define CUBE(x)  ((x) * (x) * (x))

注意:作为规则,一定要将宏参数放在括号中,宏是没有类型的,宏允许用户使用任何类型的数值。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值