カフェブロトップへ
注目キーワード  コンビネゾン スパンコールカーデ / 【今週のプレゼント】しっとり!ハンドクリーム

プログラマーの独り言

コンピュータ・ソフトウェアのプログラミングに関して調査したことや思ったことを綴ります。

<< 2012年2月 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29
最新記事
最新コメント
最新トラックバック
リンク集
マクロの再定義の実験
マクロの再定義を実験してみた。

自分の環境では、
再定義可能のパターンではコンパイルがとおり、
再定義不可のパターンでは、warning: "OBJ_LIKE" redefined 等のワーニングが出た。

以下、プログラム。(表示都合上全角)

/*
    define_test.c
*/
#include <stdio.h>  /* printf */
#include <stdlib.h> /* EXIT_SUCCESS */

#define OBJ_LIKE (1−1)
#define FUNC_LIKE(a)    ( a )

int main(int argc, char *argv[])

    #define OBJ_LIKE /* コメント */ (1−1) /* コメント */
//  #define OBJ_LIKE (0) // 字句の並びが違う
//  #define OBJ_LIKE (1 − 1) // 空白類が違う

    #define FUNC_LIKE( a ) ( /* 空白類に注意 */ \
                            a /* 一部が別の行
                            */ )
//  #define FUNC_LIKE(a)    ( ’a’ ) // 仮引数の使用法が違う
//  #define FUNC_LIKE(b)    ( b ) // 仮引数のつづりが違う

    printf(”%d\n”, FUNC_LIKE(OBJ_LIKE));

    return EXIT_SUCCESS;

2010年3月18日(木) 06:47 [ C言語 ]
この記事のURL / /


プロフィール
ユニオン
カテゴリアーカイブ
月別アーカイブ
日別アーカイブ
cafebloトップへ
ブログ管理画面へ