定义了char ch1,char ch2,char ch3,char ch4;四个char型变量。然后赋值
ch1 = 'a';
ch2 = 'b';
ch3 = 'c';
ch4 = 'd';调试运行发现,&ch1 &ch2 &ch3 &ch4 的地址分别为:
0x0012ff7c 0x0012ff78 0x0012ff74 0x0012ff70 为何其内存地址相差为4? 一个内存地址(32位)存储的不是一个字节吗?而char型变量就是一个字节,所以我觉得内存地址应该是逐个加1吧?? 求解。
定义了几个char变量,为何内存地址都是相差4?
答案:2 悬赏:70 手机版
解决时间 2021-01-29 16:19
- 提问者网友:活着好累
- 2021-01-29 00:16
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-01-29 00:46
对于16位机,char型变量占内存地址2,对于32位机,char型变量占内存地址4。
全部回答
- 1楼网友:酒安江南
- 2021-01-29 01:20
8个bit(八个字节)
[补充]signed和unsigned的区别
在c中,默认的基础数据类型均为signed,现在以char为例,说明(signed) char与unsigned char之间的区别
首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯