char改为int的后果

char改为int的后果

改成把char*变成int*的话,访存的宽度就变了,本来访问一个字节,现在变成访问四个字节,其余三个字节来自于这个字节的周围。这种现象可以误用也可以善用。简单的善用方法就是我要打印一个八字节的缓冲区时可以写成打印两个4字节int,或一次8字节long long,而不是打印八次或写一个for循环。

char是一个字节而且是有符号数,只要超过0x7F也就是127的数转换为int都是负数,它的值范围是-128到127。

int 是4个字节一般,超过7FFFFFFF也是负数。