对c语言中指针数组和数组指针的认识

1.数组:一批具有同名的同属性的数据就组成了一个数组。(“[ ]”也是数组类型的一部分)

    由此可知:(1)数组是一组有序数据的集合;(2)数组中的每一个元素都属于同一个数据类型。

 定义一维数组的一般形式:类型符  数组名【常量表达式】(数组也是一种类型 )

[多维数组也是一维数组,只是其内部的元素也是数组,如:二维数组的内部元素都是一维数组,三维数组其内部元素类型都是二维数组,以此类推,n维数组其内部元素都是n-1维数组]

2.指针:指针就是地址,一个变量的指针就是该变量的地址(即变量指针)。

3.指针变量:指针变量是变量,用来存放另一变量的地址

    (由此可知:指针是一个地址,而指针变量是存放地址的变量,我们通常所说的定义一个指针实质上是指定义了一个指针变量)

4.函数指针:就是函数的地址

5.函数指针数组:是一个数组,其内部元素为函数的地址

6.容易混淆的点:

(1)指针和数组没有关系

(2)判断指针数组和数组指针的方法:

由优先级决定,例:

int *p[10] //指针数组    ,因为[ ]的优先级高于 * 的优先级

(int *p)[10] //数组指针 ,因为()的优先级高于[ ] 的优先级

(3)数组在传参时会发生降维,即数组在进行传参时会降维成指向其内部元素类型的指针

(4)数组名只有在sizeof(数组名)和“&(数组名)”这两种情况下表示整个数组,其他情况下均表示数组首元素的地址

(5)指针加1加的是其所指向类型的大小;

         例:a+1指的是加的整个数组的长度

               a[0]+1指的是数组里边第二个元素

(6)一般情况下,两个指针指向同一数组/字符串,通常代表两指针之间的元素的个数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值