C语言之指针初阶2

目录

1. 指针和数组

2. 二级指针

3. 指针数组


1:指针与数组

不同  : 

    1:指针:指针就是指针,他是描述我们内存中一个空间的地址编号,单位字节,在我们平常所说的指针我们一般指的是指针变量,指针变量是用来存放地址的。

        2:数组就是数组,它是在内存中开辟的一组相同元素类型的集合,它开辟的空间大小可以通过sizeof关键字来求解,且地址的使用随着下标的增大,数组元素地址也会增加。

联系:

        数组名本质上来说是数组首元素的地址,除了两种情况,1:用sizeof(数组名)2:&arr,取出的是数组全部的地址,但是打印,还是首元素的地址,在其它情况下,都是首元素的地址,我们可以通过vs来看:

        于是乎,我们可以用指针来接受数组名字,并且通过指针来访问数组。如:

        

2:二级指针

         二级指针:我们知道一级指针是用来存放变量的地址,数组名,而我们创建的指针也要向内存申请空间,所以才会有二级指针的概念,二级指针本质上来说是用来存放一级指针的地址的,

它的语法为:int**pp =&p,假设p是一个指针,而关于int**pp,我们是这样来理解的,首先*代表指针,int* 代表所指向的变量的类型是指针:

        我们知道int*pa =&a的话,*pa,我们通过对pa进行解引用,其实就是pa访问a,而int**ppa,我们**ppa的话首先*ppa是用来访问pa,*pa就是a了.

3:指针数组

        指针数组本质上就是数组,我们知道整形数组,是数组他是用来存放整形的,字符数组是用来存放字符的,那么指针数组也可以这样来理解,指针数组他是用来存放指针的。

        它的语法形式为:int* arr[];在这里我们知道[]的就是表示arr是个数组,前面的int*代表数组中的每个元素都是整形指针类型

        下面我们通过具体的一些代码来实现:

                

        指针初阶的知识点已经分享完毕,谢谢大家的观看,如果觉得对你有用的话可以点个赞哦!

        下期文章将是结构体初阶的讲解。

猜你喜欢

转载自blog.csdn.net/2201_75964502/article/details/130782578