-4

我有一个基本问题,就像 C 说的 char 对象将是 1 个字节,所以如果是 unsigned char,范围是从 0 到 255

但如果是 char 指针,1 字节变量如何存储超过 255 个?

就像在下面的程序中一样,我发现字符指针 p 存储的值是 2358855 > 255 ??

(我知道值 2358855 是地址,但是 1 字节对象如何存储超过 255)?

有人可以帮忙吗?在此处输入图像描述

4

2 回答 2

2

地址表示对象所在的内存位置。它不同于它所指向的实际类型,并且不必是相同的大小。

如果指向 a 的指针char只能容纳 256 个值,那么它就没有多大用处。这意味着只有 256 个字节的字符可以被寻址。

于 2018-08-29T18:42:12.517 回答
1

指向类型的指针不受类型本身的大小限制。

简单证明:

if(sizeof(char *)==sizeof(char))
{
     printf("I\'ll never get anything done like this.\n");
}
else
{
     printf("Life is good!\n");
}
于 2018-08-29T18:42:47.660 回答