2019-12-03(指针)

一.指针概念。

指针就是地址,变量才有地址。
1.若定义了一个普通变量,则系统自动回分配一个内存空间给该普通变量,且该内存空间会有一个地址。
2.若定义了一个数组,则在内存中分配一段连续的内存空间给该数组,且数组名就是该数组的首地址。
格式:
         &变量名   


地址的输出一般使用十六进制


二.指针变量
1.内容变量
int x=10;

2.指针变量

指针变量:该变量存放的是每个内容变量的地址。
指针变量的定义格式:
类型名 *指针变量名,……;

例如:
int p  :   //p是内容变量,且p中的内容的数据类型是int型。
int *p  :  //p是指针变量,p中存放的是某个内容变量的地址(地址没有数据类型可言),且存放内容变量的数据类型为int型。

注意:
(1)不要理解为p存放的地址是int型。
(2)定义了一个指针变量,则必须让该指针变量有一个指向(必须给他赋初值)。
   int a=10 , *p=&a;
等价于:
   int a=10;    //定义内容变量a,并赋值为10
   int *p;      //定义指针变量p,p只能存放int型内容变量的地址。
   p=&a;     //将内容变量a的地址赋给指针变量p。

(3)将某个内容变量的地址赋给一个指针变量,则相当于这个指针变量指向了该内容变量。

三.指针的运算符。

  1. 取地址运算符(&)(内容变量才可以取地址)
    取某个内容变量的地址: &内容变量名

2.取内容运算符(*)(指针变量才可以取内容)
取某个指针变量所指向的内存空间的内容:*指针变量名
例如:

注意:进行赋值操作时,指针可以赋给一个指针,内容可以赋给一个内容。

四.用指针变量操作一维数组。

1.一维数组的名字(常量)就是地址,是第0个元素的地址。
int a[10]={1,2,3,4,5,6,7,8,9,0};

int *p;

p=a;//让p指向a[0]元素。

p=a+1;//让p指向a[1]元素
p=a+9;//让p指向a[9]元素

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容