龙空技术网

C语言系列_8:指针数组,数组指针傻傻分不清?

deeplearning爱好者 428

前言:

如今小伙伴们对“c语言数组和指针的区别”大体比较讲究,你们都需要了解一些“c语言数组和指针的区别”的相关资讯。那么小编在网络上收集了一些有关“c语言数组和指针的区别””的相关资讯,希望各位老铁们能喜欢,大家快快来了解一下吧!

第十章:指针进阶(1)字符指针

第一:一个字符

第二:一个字符数组

第三:常量字符串

关于这个常量字符串,一定要注意以下的这个问题

所以这个常量字符串感觉像是省略版的“const char* p1”

(2)指针数组A:什么是指针数组

所谓指针数组,就是存放指针的数组,它的里面存放的全部是指针

B:指针数组的用法

指针数组的用处它能保存指针,这种用法尤其体现于数组中,因为数组名就是地址

(3)数组指针A:什么是数组指针

数组指针,其主语就是指针。那么整形指针指向整形数据,字符指针指向字符数据,相应的数组指针也就是指向数组。前面我们说过,数组的数组名表示数组的首元素地址,而如果对数组进行“&arr”这样的操作,这表示数组的地址,那么数组的地址当然也是需要一个指针来保存的,所以我们把保存数组的地址指针叫做数组指针

关于这点,由于数组指针的加入,很多初学者在书写指针时感到很混乱

B:数组指针的用法

第一:数组指针不会使用的方法

数组指针被解引用后,就是数组名

可以看出这种写法是在让人别扭,与其这种写法,还不如使用数组名

第二:数组指针的真正用法

如下:有一个二维数组,调用函数输出它。

首先我们最常用的输出方式就是如下

而采用数组指针输出方式如下

C:关于指针和数组的再总结

以下写法均是等价

(4)数组参数,指针参数A:一维数组传参

B:二维数组传参

C:一级指针传参

D:二级指针传参

标签: #c语言数组和指针的区别