一、指针
1、地址:内存的基本单元是字节,每个字节都有一个编号,这个编号就称为地址
指针:地址就是指针
指针变量:专门用来存放地址的变量
2、定义:存储类型 数据类型 *指针变量名
存储类型:指针变量的存储类型
数据类型:指针所指向的变量的数据类型
指针的类型:数据类型*
int *p = NULL; //定义指针时一定要对指针进行初始化
int a = 10;
int *p = &a;
指针就是操作内存的工具
指针的四要素:1、指针的类型 2、指针所指向的类型 3、指针所指向的内存 4、指针所占内存的大小
3、指针的算术运算:p+n:向地址增大的方向移动了n个数据
注:指针的算术运算必须在一块连续且有效的内存上操作,指针类型必须一致,指针的数据类型明确了指针所能操作的内存范围,在使用指针时,一定注意不要越界
可以通过强制类型转换改变指针操作内存范围的大小
4、指针与数组
-->数组名的含义:1、代表一个数组 2、代表数组首元素的地址
-->指针与二维数组
通过一级指针操作二维数组,必须要将二维数组强制转换为(int *)类型,然后用一维数组的方式去操作,因为二维数组在内存中的存储方式实质上也是一维的
-->指针数组与数组指针:
指针数组:本质上是个数组,这个数组的元素是指针 int *p[ 3 ]
数组指针ÿ
1、地址:内存的基本单元是字节,每个字节都有一个编号,这个编号就称为地址
指针:地址就是指针
指针变量:专门用来存放地址的变量
2、定义:存储类型 数据类型 *指针变量名
存储类型:指针变量的存储类型
数据类型:指针所指向的变量的数据类型
指针的类型:数据类型*
int *p = NULL; //定义指针时一定要对指针进行初始化
int a = 10;
int *p = &a;
指针就是操作内存的工具
指针的四要素:1、指针的类型 2、指针所指向的类型 3、指针所指向的内存 4、指针所占内存的大小
3、指针的算术运算:p+n:向地址增大的方向移动了n个数据
注:指针的算术运算必须在一块连续且有效的内存上操作,指针类型必须一致,指针的数据类型明确了指针所能操作的内存范围,在使用指针时,一定注意不要越界
可以通过强制类型转换改变指针操作内存范围的大小
4、指针与数组
-->数组名的含义:1、代表一个数组 2、代表数组首元素的地址
-->指针与二维数组
通过一级指针操作二维数组,必须要将二维数组强制转换为(int *)类型,然后用一维数组的方式去操作,因为二维数组在内存中的存储方式实质上也是一维的
-->指针数组与数组指针:
指针数组:本质上是个数组,这个数组的元素是指针 int *p[ 3 ]
数组指针ÿ