查网站服务器速度,怎么做无货源电商,整站seo,网站界面设计考试一句话来说: 指针就是存储了内存地址值的变量。 在前面讨论传值和传址的时候#xff0c;我们就已经开始使用了指针来传递地址。 在正式介绍指针之前#xff0c;我们先来简单了解一下内存。内存可以简单的理解为一排连续的房子的街道#xff0c;每个房子都有自己的地址#…一句话来说: 指针就是存储了内存地址值的变量。 在前面讨论传值和传址的时候我们就已经开始使用了指针来传递地址。 在正式介绍指针之前我们先来简单了解一下内存。内存可以简单的理解为一排连续的房子的街道每个房子都有自己的地址叫内存地址。在大多数计算机使用 8 位的块或者字节byte作为最小的可寻址的内存单位而不是访问内存中单独的位。下图简单展示了一下内存编址。 在C语言中每个变量都存储在内存中的一个位置上这个位置可以通过地址来访问。 如何获取变量的地址呢用取址运算符 来获取。 那获取的这个地址存储在哪里呢指针。一个指针变量就是存储了内存地址值的变量。 有了地址之后如何读取地址上的数据呢可以用解引用运算符 * 来获取。 总结来说有几个重要的概念 1. 内存地址指示了变量存储在内存中的确切位置。 2. 指针变量存储了内存地址值的变量。 3. 取址运算符()用取址运算符 来获取一个变量的内存地址。 4. 解引用运算符(*)用解引用运算符 * 来获取指向地址上存储的数据。 示例
int var 10; // 一个普通的整数变量
int *ptr var; // 一个指针变量存储了var的地址printf(var的值: %d\n, var); // 输出 var 的值
printf(var的地址: %p\n, var); // 输出 var 的地址
printf(ptr存储的地址: %p\n, ptr); // 输出 ptr 存储的地址即 var 的地址
printf(ptr存储的地址: 0x%lx\n, ptr); // 输出 ptr 存储的地址即 var 的地址
printf(ptr解引用的值: %d\n, *ptr); // 通过 ptr 指针解引用访问 var 的值在这个示例中var 是一个普通的整数变量ptr 是一个类型为 int *指向int的指针的指针变量它存储了 var 变量的地址。通过 *ptr 我们可以访问 var 变量的值尽管我们并没有直接使用 var 这个变量名。 总的来说指针的用途如下 ● 指针存储内存地址。 ● 指针可以间接访问和操作内存中的数据。 ● 指针可以使函数能够修改接收到的变量(传址上一节讲述到)。 ● 指针可以用于动态内存分配。 在C语言中任何一个变量和函数类型都可以有对应的指针。 这里只是简单介绍了一下指针的概念指针与数组的关系比较密切关于指针的使用我们在后续介绍数组的时候会详细介绍。