用指针访问一维数组
用指针访问二维数组
用指针访问三维数组 一、 用指针访问一维数组
//代码
int i=;
int a[]={,};
int *p=&a; //int *p=&a[0];
printf("%d\n",*p);
p++;
printf("%d",*p);
//代码
int i=;
int a[]={,};
int *p=&a; //int *p=&a[0];
for(i=;i<;i++,p++)
{
printf("%d\n",*p);
}
//代码
int i=;
int a[]={,};
int *p=&a; //int *p=&a[0];
for(i=;i<;i++)
{
printf("%d\n",p[i]);
}
 二、  用指针访问二维数组        

 //代码
int i,j;
int a[][]={,,,
, ,};
//int (*p)[5]=&a[0][0];//(5*1+0)*4 错误的
int (*p)[]=&a[][];//(3*1+0)*4
for (i=;i<;i++)
for (j=;j<;j++)
{
printf("%d\n",p[i][j]);
}
printf("%d,%d", p[][], a[][]);
三、 用指针访问三维数组
//代码
int a[][][]={
{{ , , , } , { , , , } ,{ ,,,}},
{{,,,} , {,,,} , {,,,}}
}; #include <stdio.h>
#include <string.h> int main(void)
{
int a[][][]={
{{ , , ,} , {, , , } ,{ ,,,}},
{{,,,} , {,,,} ,{,,,}}
};
int (*p)[][]=(void*)0x12ff04;//0x12ff04
int i,j,k;
printf("%x\n",&a); for (i=;i<;i++)
{
for (j=;j<;j++)
{
printf("{");
for (k=;k<;k++)
{
printf("%d,",p[i][j][k]);
}
printf("},");
}
printf("\n");
}
getchar(); return ;
} 小结:
访问 int a[x][y][z][i][j]的指针 定义为 int (*p)[y][z][i][j]

c++ 指针访问数组的更多相关文章

  1. YTU 2832: 使用指针访问数组元素--程序填空

    2832: 使用指针访问数组元素--程序填空 时间限制: 1 Sec  内存限制: 128 MB 提交: 328  解决: 160 题目描述 输入10个整数值到数组中,使用指针来完成对这10个数组元素 ...

  2. C---通过指针访问数组

    C语言规定:如果指针变量P已指向数组中的一个元素,则P+1指向同一数组中的下一个元素. 引入指针变量后,就可以用俩种方法来访问数组元素了. 如果p的初值为&a[0],则: P+i 和a+i 就 ...

  3. 24深入理解C指针之---指针和数组

    一.指针和数组 #include <stdio.h> int main(int argc, char **argv) { ] = {, , , , ,}; int *ptrVector = ...

  4. C语言的指针和数组

    指针和内存 指针变量也是个变量,不过保存的是另一个变量的地址.另外编译器还会记住指针所指向变量的类型,从而在指针运算时根据变量类型采取不同操作. 例如,char * a 定义了char 类型的指针变量 ...

  5. C语言-再论指针与数组

    指针与数组的天生姻缘1.以指针方式来访问数组元素(1).数组元素使用时不能整体访问,只能是单个访问.访问形式有两种:数组形式和指针形式.(2).数组形式访问数组元素:数组名[下标]:(下标从0开始(3 ...

  6. C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用

    类型 普通指针 指针数组(非指针类型) 数组指针 结构体指针 函数指针 二重指针 定义方式 int *p; int *p[5]; int (*p)[5]; int a[3][5]; struct{.. ...

  7. 11-C语言指针&一维数组&字符串

    一.用指针遍历数组元素 1.最普通的遍历方式是用数组下标来遍历元素 1 // 定义一个int类型的数组 2 int a[4] = {1, 2, 3, 4}; 3 4 int i; 5 for (i = ...

  8. 指针与数组的区别 —— 《C语言深度剖析》读书心得

    原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下. 1. 意义: 指针: 指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节). ...

  9. 指针 与 数组 以及 a 与 &a的区别

      指针 与数组 并没有什么关系,   指针就是指针,指针变量在32位系统下,永远占4个byte,其值为某一个内存的地址,指针可以指向任何地方,但是不是任何地方你都能通过这个指针变量访问到;   数组 ...

随机推荐

  1. Oracle 查看锁情况

    /*查看锁(lock)情况*/ SELECT ls.osuser os_user_name, ls.username user_name, decode(ls.type, 'RW', 'Row wai ...

  2. Flask配置文件和 路由系统

    debug = True开启debug模式 当你的代码在界面增减之后不用刷新界面自动更新 app.logger.error("这是error模式") app.logger.info ...

  3. windows 端口映射

    netsh interface portproxy add v4tov4 listenport=8765 listenaddress=0.0.0.0 connectaddress=172.19.24. ...

  4. (转)图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)

    BRDF理论 BRDF表示的是双向反射分布函数(Bidirectional Reflectance Distribution Function),它描述了光线如何在物体表面进行反射,可以用来描述材质属 ...

  5. Tomcat 配置学习

    1 server.xml <host appBase="d:/aaa"> <Context path="/smswap" reloadable ...

  6. libcurl同时下载多个文件

    #include <errno.h> #include <stdlib.h> #include <string.h> #ifndef WIN32 #include ...

  7. Jenkins 配合 GitLab 实现分支的自动合并、自动创建 Tag

    Jenkins 配合 GitLab 实现分支的自动合并.自动创建 Tag 背景 GitFlow工作流简介 Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提供了用于一个健 ...

  8. cocos2d-x(十一)Lua开发飞机大战-6-加入子弹

    接下来我们为飞机加入子弹,首先创建一个BulletLayer: module("BulletLayer",package.seeall) local bulletBatchNode ...

  9. 1208. [HNOI2004]宠物收养场【平衡树-splay】

    Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...

  10. 【洛谷】【搜索(dfs)】P1363 幻想迷宫

    [题目描述:] 幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成.矩阵中有的地方是道路,用'.'表示:有的地方是墙,用'#'表示.LHX和WD所在的位置用'S'表示.也就是对于迷宫中的一 ...