c语言求助
#include <stdio.h>int main()
{
int a = 0x1234;
char *b = (char *)&a;
if (*b == 0x12)
{
printf("大端!\n");
}
else
{
printf("小端!\n");
}
return 0;
}
请问这一句是什么意思 char *b = (char *)&a;b是看作指针还是看作数组?
谢谢 b是指针,将a的地址赋值给b 召唤风云 发表于 2020-10-8 20:42
b是指针,将a的地址赋值给b
那后面*b是什么值 b是字符指针,指向a的地址, 给你写了注释#include <stdio.h>
int main()
{
int a = 0x1234;
char *b = (char *)&a;//char类型的指针b,把a的地址赋值给指针b,即指针b指向a
if (*b == 0x12)//若指针b指向的单元的值为0x12,*b是取指针b所指向的单元的值
{
printf("大端!\n");
}
else
{
printf("小端!\n");
}
return 0;
} 意思就是,指向地址的指针,也就是指针的指针 sunrise085 发表于 2020-10-8 21:06
给你写了注释
谢谢。a的地址赋值给指针b,那么*b 不应该是0x1234吗。,后面34去哪里了? Jacksturdy 发表于 2020-10-9 07:58
谢谢。a的地址赋值给指针b,那么*b 不应该是0x1234吗。,后面34去哪里了?
类型不同
char类型的指针只读一个字节
页:
[1]