c语言 指针数组 数组指针
2014-04-19 09:22
549 查看
(1)int *p[4]: 定义的时指针数组。因为优先级关系,p先于[]结合,说明p是一个数组,然后在于*结合,说明数组p的元素是指向整型数据的指针,相当于4个整型指针变量,用于存放地址单元。
(2)int(*p)[4]:定义的是数组指针,p先于*结合,形成一个指针,该指针指向的是有4个整型元素数组,p即为指向数组首元素地址的指针。
#include <stdio.h>
int main()
{
int arr[4][4]={0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15};
int(*p1)[4]; //数组指针
int *p2[4]; //指针数组
int i,j,k;
p1=arr;
/*******使用数组指针访问********/
printf("使用数组指针访问\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d\t",*(*(p1+i))+j);
}
printf("\n");
}
/*********使用指针数组访问*****/
printf("使用指针数组访问\n");
for(k=0;k<4;k++)
{
p2[k]=arr[k];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d\t",*(p2[i]+j));
}
printf("\n");
}
return 0;
}
(2)int(*p)[4]:定义的是数组指针,p先于*结合,形成一个指针,该指针指向的是有4个整型元素数组,p即为指向数组首元素地址的指针。
#include <stdio.h>
int main()
{
int arr[4][4]={0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15};
int(*p1)[4]; //数组指针
int *p2[4]; //指针数组
int i,j,k;
p1=arr;
/*******使用数组指针访问********/
printf("使用数组指针访问\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d\t",*(*(p1+i))+j);
}
printf("\n");
}
/*********使用指针数组访问*****/
printf("使用指针数组访问\n");
for(k=0;k<4;k++)
{
p2[k]=arr[k];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d\t",*(p2[i]+j));
}
printf("\n");
}
return 0;
}
相关文章推荐
- 对于C语言中指针和数组的认识和看法
- C语言 指针与数组
- C语言中 数组到底是不是指针和数组作为参数问题
- C语言 通过指针从函数返回一个数组
- C语言 通过指针访问一维数组的几种方式,通过数组名访问一维数组
- C语言深度剖析-----数组参数和指针参数分析
- C语言的指针和数组
- c语言学习零碎整理(7):数组名是指针吗?
- C语言再学习 -- 再论数组和指针
- C语言学习笔记之指向数组元素的指针和指向数组的指针
- 第14周 《C语言及程序设计》实践项目——数组与指针
- C语言中字符数组和指向字符数组的指针的区别
- C语言 结构体相关 函数 指针 数组
- C语言从零开始——指针数组和数组指针
- C语言中指针与函数的关联2(数组的降级)
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
- C语言字符指针和字符数组
- C语言不用指针只用数组和移位操作将二进制转化为十进制IEEE32浮点数
- C语言内存管理(数组,指针)
- C语言中最难分辨的概念--”数组与指针“