0 强制转化为指针类型 如何理解 eg ((struct my_list *)0) 最好和((struct my_list *)p) p为指针 进行区别
答案:2 悬赏:40 手机版
解决时间 2021-02-09 04:25
- 提问者网友:疯子也有疯子的情调
- 2021-02-08 23:06
0 强制转化为指针类型 如何理解 eg ((struct my_list *)0) 最好和((struct my_list *)p) p为指针 进行区别
最佳答案
- 五星知识达人网友:荒野風
- 2021-02-08 23:52
可以说是没有区别的。
前者的主要用处在于,可用此来计算结构体或类中成员变量的偏移量。原因很简单的,首地址从零开始,那么成员的地址的数值也就是它的偏移量了。这种技巧在C++中几乎很少使用。
前者的主要用处在于,可用此来计算结构体或类中成员变量的偏移量。原因很简单的,首地址从零开始,那么成员的地址的数值也就是它的偏移量了。这种技巧在C++中几乎很少使用。
全部回答
- 1楼网友:廢物販賣機
- 2021-02-09 00:15
指针变量是指 存储地址 的 变量
地址在计算机中就是指内存地址,也就是内存地址的编号,从数值看,它就是一个long型数据(一般为相应机器的一个字长:最小处理单元)。
即:定义一个指针变量,其实与定义一个整型变量是没有区别的,区别在于:1、变量中的内容的意义,2、变量的使用方法。
int i;
int *p ;
i=100; //变量中存了一个数100
p=&i ; //变量p中存了i的地址,其实也是个数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯