内存,类型,指针的关系
-
类型
类型表明这堆二进制数据按照什么类型解析,数据怎么转换显示.
比如对于
char
类型:- 1个字节
- 8个bit
- 值为65的对应的显示字符为
A
.这是因为根据对应的码表转化为A
,在内存中只是一个65
的值,找到对应65
的图像.
-
将一个int存放对应的值,输出的时候按照字符串解析。
#include<stdio.h> int main() { int x = 0x414243; printf("%s ",(char*)&x); return 0; }
-
x在内存中的分布
66 65 64 00
对应字符串
CBA
这个案例就是告诉内存的数据按照特定的方式解析,就是合法数据,本质是01,但是解析出来的不一样,也就成为了各种各样的数据了。
-
-
将一个结构体按照字符串和int输出。
#include<stdio.h> struct T { char a; char b; char c; char d; }test{0x43,0x42,0x41,0x00}; int main() { printf("%s %x ",(char*)&test,*(int*)&test); return 0; }