一、指针
1、地址:
计算机中的内存是按照字节进行组织的,字节是构成我们内存最基本的单元。没一个字节分配每一个编号,这个编号就被成为地址,不同的数据类型占用的内存空间(字节数)是不一样的,如果我们访问内存中的数据,是按照这个数据的首个字节的地址去访问的,我们把这个地址称为数据的首地址。
2、指针
本质是一个地址,这个地址是一个数据类型;
指针变量;存放地址的变量;
*数据类型 指针变量名
int *p;
//标识符的类型说的是指针指向的对象类型
//定义指针变量中的 *没有特别意思,为了便于区分普通变量
//p是指针的变量名
//指针在使用前要初始化
int *p;
//定义指针前没有初始化,指针变量存放的是垃圾值。
//不能将数据类型数据赋值给指针变量(0除外)
int a=200;//指针变量的类型要和初始化的变量的地质类型要一致
p=&a;//指针的类型确定了指针+1的能力
int *pp=&a//可以直接进行初始化
3、指针操作符号
1.&-------------&变量名 获取变量的地址
2.*--------------简介运算符
*p ==获取指针指向对象中的内容或者数据
int a=100;
int *p=&a;
*p=101 ==== a=101;
4、指针的运算
++ -- +-
5、指针与一维数组
int
指针数组的名字就是数组的首地址
访问数组:下标arr【0】;
通过指针*p【arr+i】;
例:
int arr[5]={0};
int *p=arr;
for(int i=0;i<5;i++)
{
printf("%d",*(p+i));
}
int *p
for(p=arr;p<arr+5;p++)
{
printf("%d",*p);
}