对指针,数组,指针数组,数组指针的一些理解

1.指针数组和数组指针

1)指针数组是一个数组,是一个存放指针的数组,如:

Char *arr[10]

(2)数组指针是指针

整型指针:int *pint;指能够指向整型数据的指针

浮点型指针:float *pf;指能够指向浮点型数据的指针

2. 指针和数组的定义与声明

(1)定义为数组声明为数组,定义为指针声明为指针

 

结果为:

 

若是定义为数组声明为数组,定义为指针声明为指针是成立的。

(2)定义为指针,声明为数组

定义为指针,声明为数组,程序运行过程中会出现问题。因为指针p保存的是数组的地址,直接声明后访问会出现意料不到的错误。

改正后:

 

或者:

 

输出结果为:

 

(3)定义为数组,声明为指针

 

若是定义为数组,声明为指针,程序运行会出现错误。这是因为指针中存放4个字节,而数组中存放了”abcdef”,所以只能读到”abcd”asc码值,输出的地址应该是0x61626364

3. 函数能够接受的参数

(1)一级指针:

一.接收普通变量的地址

二.接收一维数组的数组名

三.接收一级指针

void test(int *p)

{

}

int main()

{

  int a;

  int arr[4];

  int *p1;

  test(&a);

  test(arr);

  test(p1);

 Return 0;

}

(2) 二级指针

一、接收二级指针变量

二、接收一级指针变量的地址。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuruhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值