This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

想请教一个比较基础的问题



在32位的机子里,一个地址应该是包含四个字节吧,那么char类型是不是还是8位呢,如果是,那么譬如我定义一个指针

char c[] = 'abc';

char  *ch = &c;

这样*(ch++)应该是指向下一个地址,值为b,这就跳过了3个字节(一个地址有四字节),如果说“b”这个值放在“a”字节的下一个字节,那他应该没有地址对应,*(ch++)就得不出字符b了。总结下问题,32位机里char类型是占一字节还是四字节?如果是一个字节,字符数组的相邻字符会不会隔着3个字节?

教用char类型的时候说它体积小,但我想如果8位以上的机用它不能省内存的话,字符以外的数我就不会再用char类型了

多谢解答