
很多人第一次学习 C 语言,都会遇到同一个问题:intage =18; int*p = age;为什么需要一个p?直接使用age不就可以了吗?为什么 C 语言要设计这么复杂的东西?如果这个问题没有想明白,那么后面的:二级指针函数指针动态内存链表树结构都会越来越难理解。实际上,指针并不是 C 语言创造出来的一种奇怪语法,而是把计算机底层一直存在的“寻址机制”直接暴露给了程序员。想理解指针,首先要理解两个问题:数据到底存在哪里?程序又是如何找到这些数据的?一、变量,本质上是一块存储空间学习 C 语言时,我们经常写:intage =18;看起来很简单。但程序运行时,并不是直接保存一个叫age的东西。更准确地说:编译器会为变量安排存储空间(如果它