宏里面的参数没有数据类型,它所执行的只是文本的替换。

 

宏的名称中不能出现空格,否则空格之后的部分都将被替换。

 

宏定义

宏定义将一个标识符定义为一个字符串

#define PI 3.14159  //按double型处理
#include<stdio.h>
#define SUB(a,b) a-b
int main(){
    int a = 3,b = 2;
    int c;
    c = SUB(a,b);   //c = a-b
    printf("%d\n",c);
    c = SUB(3,1+2);  //c = 3-1+2
    printf("%d\n",c);
    return 0;
}

输出:

1

4

不带括号计算

 

#undef PI  //取消标识符PI的宏定义

外部变量与外部函数

extern

静态全局变量与静态函数

static

 

auto和register只有在使用时才占用内存单元的变量

版权声明:本文为博主原创文章,未经博主允许不得转载。