#include <stdio.h>
void test()
{
printf("输出了内容\n");
}
int main(void)
{
test();
int number = 10;
// 定义指针的方式: 需要指向的类型 *指针的名称 = 0;
int* point = 0; // 这个写法是定义指针并且指向地址 0(空指针)
// 为指针赋值: [应该]使用对应指针类型的变量地址赋值给指针
point = &number;
// 使用指针: 自己的地址&point + 指向的地址 point + 指向的地址上保存的内容 *point
printf("%p %p %d\n", &point, point, *point);
char chr = 'a'; // 97 0x61
point = (int*)&chr;
// 访问到的数据是字符所占的1字节 + 紧随的后3字节
printf("*point = %x\n", *point);
// 修改到的数据是字符所占的1字节 + 紧随的后3字节
// 产生了越界的修改,会导致程序的崩溃
*point = 200;
printf("*point = %x\n", *point);
return 0;
}
来源:https://www.cnblogs.com/lianfeng132/p/12358672.html