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