指针数组和数组指针
来源:互联网 发布:网络用语中呦呦的意思 编辑:程序博客网 时间:2024/06/14 13:57
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j;
int a[3][2] = {{1,2},{3,4},{5,6}};
int *p = a[0];
int (*q)[2];//数组指针 q是一个指针,指向一维数组,每个一维数组有2个元素,所以q是行指针
q = a;
int *ptr[3];//指针数组,ptr有3个元素,每个元素是一个指针。
for(i = 0; i < 3; i++)
{
ptr[i] = a[i];//保存每一列首数据的地址
for(j = 0; j < 2; j++)
printf("%d",*(ptr[i]+j));
}
printf("\n");
for(i = 0; i < sizeof(a)/sizeof(int); i++)
{
printf("%d",*(p+i));//通过列指针,输出数组元素
}
printf("\n");
for(i=0;i<3;i++,p++)//p可看成是行指针
{
printf("%3d ",**p);//每一行的第一个元素
printf("%3d ",*(*p+1));//每一行的第二个元素
printf("/n");
}
for(i = 0; i < sizeof(a)/sizeof(int); i++)
{
printf("%d",*((int *)q+i));//通过行指针,输出数组元素
}
printf("\n");
for(i = 0; i < 3; i++)
for(j = 0; j < 2; j++)
printf("%d",*(*(q+i)+j));
printf("\n");
for(i = 0; i < 3; i++)
{
printf("%d",*(*(q+i)));
//q保存的是数组的行地址,*q保存的是a[0]的首地址,所以**q取得是数组的首元素
}
printf("\n");
return 0;
}
- 指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 关于TI 6000系列DSP优化经验
- 解决打开应用评分报错问题
- 函数指针数组
- 解决 CoreText去除换行符的问题
- hdu1086 You can Solve a Geometry Problem too
- 指针数组和数组指针
- 什么是大牛,我彻底服了,大牛讲解信号与系统
- 二维数组和指针
- dll(动态链接库)之间以及和exe之间的函数、类或全局变量互传
- VS2005下开发PPC2003和WM50编译器一些设置
- 帧动画
- Java程序员的堕落
- 深入理解指针
- 指针函数和函数指针