目录
前言
每一个变量都对应着一个地址,当我们需要保存或者调用地址时,应该用什么功能?
文中数据和解题思路借鉴启航和王道和天勤,并且加入了自己的思考。如有错误欢迎指出。
一、导入
程序在进行编译时,系统会给程序中的变量分配内存单元。这种按变量地址存取变量值的方式称为“直接访问”。
而另一种存取变量值的方式为间接访问。把变量i的内存地址存放到另一个变量中。被称为指针变量。其公式为:
基类型 *指针变量名;
如:int *i;
二、指针
1.指针和指针变量的区别:
指针是变量的地址。而指针变量是一个特殊变量用于存放变量的指针的。
2.&和*:
&(取地址操作符)也被称为引用。通过该操作符我们可以找到一个变量的地址值。
*(取值操作符)也被称为解引用。通过该操作我们可以找到变量地址对应的数据。
介绍完上述内容后将需要注意:
1.int *i-point1的中*i-point1是什么?i-point1是什么?
答:*i-point表示解引用变量地址,代表指针型变量。i-point1是指针变量名。
2.float *i;int a;*i=&a对吗?
答:必须要同类型的地址和变量才能相等。
3.&*i是什么?
答:&*i=&a;所以等于变量a的地址。
3.指针的使用场景
1.指针的传递
c语言数据传递为值传递。使用指针可以实现通过指针来修改数值。
2.指针的偏移
对指针的加减就是指针的偏移。加为向后偏移,减为向前偏移。
偏移一般用于数组的数据读取。
总结
1.指针的本质。
2.指针的使用场景。