永发信息网

可以宏定义一个任意类型的指针吗

答案:2  悬赏:50  手机版
解决时间 2021-02-01 06:28
可以宏定义一个任意类型的指针吗
最佳答案
可以,举例说明:
#define MYPOINTER (unsigned char *)a
int a[5][10];
unsigned char *p;
int i,j;
for ( i=0;i<5;i++ ) for ( j=0;j<10;j++ ) a[i][j]=i*10+j; //给数组赋值
for ( i=0,p=MYPOINTER ;i<5*10*sizeof(int);i++,p++ ) *p=0; //用指针将数组清0
for ( i=0;i<5;i++,printf("\n") ) for ( j=0;j<10;j++ ) printf("%02d ",a[i][j]); //输出查看结果
运行结果是数组全部被清0
全部回答
请理解,宏定义就是在进行编译的同时,将使用此宏定义的代码位置全部进行替换后再编译。 如果只是定义了某个宏定义,而没有使用的位置的话,编译后生成的机器码或可执行文件是不包含与此宏定义相关的内容的。 举例1: #define global #define static  static #define const   const #define declare_a_pointer    char* wccharpointer 以上几行写在文件头部编译没有问题,但是wccharpointer的指针变量是不存在的。 举例2: #define global #define static  static #define const   const #define declare_a_pointer    char* wccharpointer global declare_a_pointer = (char*)(0x04000000); 以上几行写在文件头部编译没有问题,而且之后的代码中可以对wccharpointer指针变量进行赋值了,此时才是真正定义了一个指针变量。 不知楼主是否理解了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
诛仙青云志萧逸才是好人还是坏 65533
岳麓区长沙彼得潘儿童影像馆这个地址怎么能查
岳麓区长沙新佳宜(麓山一分店)怎么去啊,谁知
想知道: 阳江市 阳江 高铁 经过哪里? 线路出
电动车该不该乘电梯上楼 物业:小区安全埋下
隅墟的意思是什么啊?知道的请说下!
甲班人数是乙班的1.5倍,如果甲班给乙班9人,那
让胡路区大庆老道外砂锅居地址有谁知道?有点
王者荣耀荣耀王者怎么打的最新相关信息
大宝sod蜜长期用会变黑吗
西陵区宜昌纤路达专业减肥美容怎么去啊,谁知
美的净水器开电源加水指示就闪灯但又不加水
旗鼓相当的意思是什么啊?知道的请说下!
(11分)如图是一个反射弧和突触的结构示意图
开博尔 c6如何从新刷机?
推荐资讯
自己编一首诗里面含有倩爱梦豪四字
至操的意思是什么啊?知道的请说下!
ikon唱爱很简单,唱英文的是谁
经常睡觉对皮肤和身体好吗
江苏淮安涟水徐集双码拆迁补偿安置吗
【求推荐】适合板绘的细头电容笔
凶殴的意思是什么啊?知道的请说下!
求一本三国小说
如果我说爱没有如果是哪首歌的歌词?
增增的意思是什么啊?知道的请说下!
闽佳网吧地址在哪,我要去那里办事
东河南工商所地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?