定义类型时可能产生的歧义
#include <stdio.h> char *a, b; int main() { a = "hello, world"; b = 'A'; printf("a = %s, b = %c\n", a, b); return 0; }
这段代码中的b,原本希望能够被定义为char *
,实际是char
。
消除歧义
#include <stdio.h> typedef char* PCHAR; PCHAR a, b; int main() { a = "hello, world"; b = "ABC"; printf("a = %s, b = %s\n", a, b); return 0; }