您的位置:首页 > 其它

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

2018-03-29 16:08 323 查看
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) 二级指针
一、接收二级指针变量
二、接收一级指针变量的地址。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: