指针变量的操作通常分两步
1.把指针变量和正确的普通变量配对
2.通过指针变量操作普通变量
如果在一条语句中声明多个指针变量需要在每个指针变量名前加 *
NULL 表示空地址 ,数值是 0
任何变量存储空间的地址都不可能是空地址
所有没有配对普通变量的指针变量都应该记录空地址
既没有记录有效地址又没有记录空地址的指针叫做野指针
程序中不应该出现野指针
指针变量在程序运行过程中可能发生复杂的变化
在我们的计算机中 所有指针变量都是 4 个字节大小 和整数一样
通过指针变量所能找到的存储位置的大小由指针变量的类型决定
void* 指针不指定配合的存储空间类型
这种指针变量用来记录来源不明的地址数据
这种指针在使用前必须首先进行类型转换
指针可以作为函数的形参使用,效果和数组做形参完全一样
指针变量做形参时函数内部可以根据这个指针找到很多存储位置
函数内部对这个存储位置的修改在函数结束后都会保留
尽量针对数据的身份进行编程而不是针对数据的存储位置编程
void * 指针通常作为函数的形参使用
指针变量也可以作为函数的返回值使用
如果希望函数的返回值表示另外某个变量的存储位置则需要把返回值声明成指针类型
局部变量的地址不可以赋值给返回值变量
地址数据(指针变量)只能参与如下三种数学计算
地址 + 常数 (有单位)
地址 - 常数 (有单位)
地址 - 地址
前两中常数有单位,表示多个变量的大小,变量的类型取决于指针的类型
最后一种计算中结果也是有单位的,也表示多个变量大小,变量类型由指针类型决定
一旦数组名称给指针变量赋值后,它们就可以互相混用了
在以下情况下有 区别
1.数组名称不可以被赋值,指针变量可以
2.对数组名称进行 sizeof 计算得到整个数组的大小,对指针进行 sizeof 计算得到指针变量的大小
3.对它们取地址结果不同
数组名称取地址数值不变,类型变成二维数组
对指针变量取地址的结果和指针变量中记录的地址没有关系
二级指针变量可以记录普通指针变量的地址
可以使用指针变量做循环变量操作数组中每一个存储位置
声明指针变量时也可以使用 const 关键字
一种使用方法是 : const int *p_num;
指针本身可以修改但不可以通过指针修改配对的普通变量
另一种使用 const 关键字声明指针变量的方法如下
: int * const p_num;
指针本身不可以修改但是可以通过它修改配对的普通变量
const 指针常用于表示函数的指针的形参
1.程序在内存中的分段
2.字符串
练习
1.使用指针变量对一个数组中的所有数据颠倒位置
2.使用指针变量检查一个数组中是否包含另外一个数组
1.把指针变量和正确的普通变量配对
2.通过指针变量操作普通变量
如果在一条语句中声明多个指针变量需要在每个指针变量名前加 *
NULL 表示空地址 ,数值是 0
任何变量存储空间的地址都不可能是空地址
所有没有配对普通变量的指针变量都应该记录空地址
既没有记录有效地址又没有记录空地址的指针叫做野指针
程序中不应该出现野指针
指针变量在程序运行过程中可能发生复杂的变化
在我们的计算机中 所有指针变量都是 4 个字节大小 和整数一样
通过指针变量所能找到的存储位置的大小由指针变量的类型决定
void* 指针不指定配合的存储空间类型
这种指针变量用来记录来源不明的地址数据
这种指针在使用前必须首先进行类型转换
指针可以作为函数的形参使用,效果和数组做形参完全一样
指针变量做形参时函数内部可以根据这个指针找到很多存储位置
函数内部对这个存储位置的修改在函数结束后都会保留
尽量针对数据的身份进行编程而不是针对数据的存储位置编程
void * 指针通常作为函数的形参使用
指针变量也可以作为函数的返回值使用
如果希望函数的返回值表示另外某个变量的存储位置则需要把返回值声明成指针类型
局部变量的地址不可以赋值给返回值变量
地址数据(指针变量)只能参与如下三种数学计算
地址 + 常数 (有单位)
地址 - 常数 (有单位)
地址 - 地址
前两中常数有单位,表示多个变量的大小,变量的类型取决于指针的类型
最后一种计算中结果也是有单位的,也表示多个变量大小,变量类型由指针类型决定
一旦数组名称给指针变量赋值后,它们就可以互相混用了
在以下情况下有 区别
1.数组名称不可以被赋值,指针变量可以
2.对数组名称进行 sizeof 计算得到整个数组的大小,对指针进行 sizeof 计算得到指针变量的大小
3.对它们取地址结果不同
数组名称取地址数值不变,类型变成二维数组
对指针变量取地址的结果和指针变量中记录的地址没有关系
二级指针变量可以记录普通指针变量的地址
可以使用指针变量做循环变量操作数组中每一个存储位置
声明指针变量时也可以使用 const 关键字
一种使用方法是 : const int *p_num;
指针本身可以修改但不可以通过指针修改配对的普通变量
另一种使用 const 关键字声明指针变量的方法如下
: int * const p_num;
指针本身不可以修改但是可以通过它修改配对的普通变量
const 指针常用于表示函数的指针的形参
1.程序在内存中的分段
2.字符串
练习
1.使用指针变量对一个数组中的所有数据颠倒位置
2.使用指针变量检查一个数组中是否包含另外一个数组