1,我们先来看看例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char* p1 = NULL;
short* p2 = NULL;
int* p3 = NULL;
char a = 1;
short b = 2;
int c = 3;
p1 = &a;
p2 = &b;
p3 = &c;
int d= 0x12345678;
p1 = (char*)&d;
p2 = (short*)&d;
p3 = (int*)&d;
printf("*p1 =%x,*p2=%x,*p3=%x\n",*p1,*p2,*p3);
if(0x12 == *(char*)p3)
{
printf("big module\n");
}
if(0x78 == *(char*)p3)
{
printf("little module\n");
}
int* pa =(int*)malloc(sizeof(int*));
*pa = 100;
printf("before:*pa = %d\n",*pa);
free(pa);
printf("after:*pa = %d\n",*pa);
pa = NULL;
free(pa);
printf("after:*pa = %d\n",*pa);
return 0;
}
我们在用数据的时候,除了使用位移和与的方法,我们可以用其它类型的数据来保存数据了。
我们使用了malloc申请了数据释放数据之后一定要置空;否则会出现野指针,而且一定要置空才不能被访问。