首页 > 试题广场 >

test.c文件中包括如下语句:#define INT_PT

[不定项选择题]
test.c文件中包括如下语句:
#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d;
文件中定义的四个变量中,是指针类型的变量为()
  • a
  • b
  • c
  • d
最后两个语句还原回来就是  int* a,b; int* c; int* d;   因为#define是宏定义,仅仅是直接替换。而typedef是把该类型定义一个别名。故此次b只是int类型。而 a,c,d才是指针类型。
发表于 2020-04-02 22:41:24 回复(0)
这题易错。 注意宏定义是直接替换 ,int* a,b; b就是整形。如果要声明两个都是指针则是 int *a,*b;
第二个的类型是int*,而第一个只有a是int*
发表于 2021-12-05 15:03:43 回复(0)

宏替换仅仅是在编译器阶段产生作用,可以认为就是无脑替换它即可,typedef就是把类型定义了一个别名

发表于 2019-05-24 19:01:34 回复(0)
不要掉进#define的陷阱啊。。。
发表于 2021-12-23 14:54:39 回复(0)
切记:#define
1.不添加括号(运算时一定注意)
例:#define   SQUAR   A*A 
x=1,y=2;
SQUAR(x+y);

结果:4
2.定义变量时只影响最近的一个变量
发表于 2020-12-11 17:51:16 回复(1)
I是 int*是int类型 i 是指针类型
发表于 2022-06-22 01:17:08 回复(0)
指针定义要注意点的点
发表于 2021-12-20 17:31:35 回复(0)