例析#define

1266阅读 0评论2009-10-07 sunjiangang-ok
分类:

以前上课时,老师说过想#define #ifndef #endif等是不常用的,所以这些东西当时也没有引起我的足够重视。我之是偶尔了解了一些。现在由于要看list.h,所以现在得重新学习一下#define
1.用于基本的宏定义:
#include
#define MAX 103
int main(int argc, char *argv[])
{
    int i, j;

    j = 0;
    for(i = 0; i < MAX; i++) {
        if(j == 10) {
            j = 0;
        }

        printf("%d", j++);
    }

    while(1);

    return 0;
}
如果取消宏定义时可使用#undef MAX来取消。

注意:上面的程序在运行时是直接不显示任何东西,给人的感觉好像是直接进入死循环的。并且这还与机子的内存有关,我的是2G内存,若将MAX宏定义为1025时,打印的1025个数字是可以显示书来的。
2.define用于进行函数的定义
#include
#define sun(a, b) (a)+(b);
int main(int argc, char *argv[])
{
    int c;

    c = sun(1, 2);
    printf("%d\n", c);

    return 0;
}

它的执行结果是:3

上一篇:ls的详解
下一篇:C写的实现wc和ls函数