指针变量的存储空间与类型无关,指针的运算看类型
2条回答 默认 最新
- _GX_ 2022-02-12 01:03关注
#include <stdio.h> #define print(type) \ do \ { \ type *p = 0; \ printf("sizeof(%6s)=%ld\tsizeof(%6s*)=%ld\tp=0x0\tp+1=%p\n", \ #type, sizeof(type), #type, sizeof(p), p + 1); \ } while (0) int main() { print(char); print(short); print(int); print(long); print(float); print(double); return 0; }
$ gcc -Wall main.c $ ./a.out sizeof( char)=1 sizeof( char*)=8 p=0x0 p+1=0x1 sizeof( short)=2 sizeof( short*)=8 p=0x0 p+1=0x2 sizeof( int)=4 sizeof( int*)=8 p=0x0 p+1=0x4 sizeof( long)=8 sizeof( long*)=8 p=0x0 p+1=0x8 sizeof( float)=4 sizeof( float*)=8 p=0x0 p+1=0x4 sizeof(double)=8 sizeof(double*)=8 p=0x0 p+1=0x8
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 深度学习残差模块模型
- ¥20 两个不同Subnet的点对点连接
- ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
- ¥15 差动电流二次谐波的含量Matlab计算
- ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
- ¥15 C#如何调用串口数据
- ¥15 MATLAB与单片机串口通信
- ¥15 L76k模块的GPS的使用
- ¥15 请帮我看一看数电项目如何设计
- ¥23 (标签-bug|关键词-密码错误加密)