#include <stdio.h>
int main(void)
{
char* data = "12345678";
short* tmp = NULL;
char p[6] = {0};
tmp = (short *)&p[2];
*tmp = atoi(&data[4]);
//p[0] = ?, p[1] = ?,
//p[2] = ?, p[3] = ?,
//p[4] = ?, p[5] = ?。
//结果使用十六进制表示
return 0;
}
结果(小端):√
//p[0] = 0, p[1] = 0,
//p[2] = 0x2e, p[3] = 0x16,
//p[4] = 0, p[5] = 0。
结果(大端):
//p[0] = 0, p[1] = 0,
//p[2] = 0x16, p[3] = 0x2e,
//p[4] = 0, p[5] = 0。
本文通过一个具体的C语言代码示例,深入解析了内存操作中关于指针、数组和字符串处理的基本原理。代码展示了如何将一个字符串转换为整数并存储在特定的内存位置,以及在小端和大端系统下内存布局的不同表现。通过此例,读者可以更好地理解C语言中数据类型的内存存储方式及其在不同系统架构下的行为。
3418

被折叠的 条评论
为什么被折叠?



