C++指针数组与数组指针的比较
来源:互联网 发布:网络爬虫爬取什么赚钱 编辑:程序博客网 时间:2024/05/16 19:13
// test1.cpp : 定义控制台应用程序的入口点。最简单的辨别方式就是看函数名前面的指针号"*"有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。#include "stdafx.h"#include "iostream"using namespace std;void main(){ int m[3][5]={14,13,12,11,10,9,8,7,6,5,4,3,2,1,0}; int (*p)[5];//数组指针,理解为指向数组的指针,指向一维数组,亦称行指针,每个一维数组有[n]个元素//其中n值要求与二维数组的列一致 int i,j; int *q[3];//指针数组, q是数组,数组元素是指针,3个int指针,记住行首地址即可 p=m;//p是指针,可以直接指向二维数组 printf("数组指针输出元素:\n"); for(i=0;i<3;i++) { for(j=0;j<5;j++) { printf("%3d ",*(*(p+i)+j)); //注意元素值的取值方式 } printf("\n"); } printf("\n另一种遍历方式:\n"); for(i=0;i<3;i++,p++)//p可看成是行指针,取值方式类似*(*(p+i)+j)) { printf("%3d ",**p);//每一行的第一个元素 printf("%3d ",*(*p+1));//每一行的第二个元素 printf("%3d ",*(*p+2));//每一行的第三个元素 printf("%3d ",*(*p+3));//每一行的第四个元素printf("%3d ",*(*p+4));//每一行的第四个元素 printf("\n"); } printf("\n----------------指针数组输出元素-----------------\n"); for(i=0;i<3;i++) q[i]=m[i];//q是数组,里面的元素是指针即,元素q[i]是指针。初始化时将每个元素(指针)//指向数组a每行元素的首地址即可 for(i=0;i<3;i++) { for(j=0;j<5;j++) { printf("%3d ",q[i][j]);//q[i][j]可换成*(q[i]+j) } printf("\n"); } printf("\n--------------第二种遍历方式---------------------:\n"); q[0]=m[0];//记住第一行元素的首地址 for(i=0;i<3;i++) { for(j=0;j<5;j++) { printf("%3d ",*(q[0]+5*i+j));//首地址+第i行第j列元素的址,再取值即可 } printf("\n"); } printf("\n");}
0 0
- 数组指针与指针数组的比较
- 指针与数组的比较
- 指针与数组的比较
- 指针数组与数组指针比较
- C++指针数组与数组指针的比较
- C++指针数组与数组指针的比较(二)
- C的数组与指针
- 【指针篇】C语言:指针与数组的区别,数组指针与指针数组的剖析。
- C/C++中指针数组、数组指针、指针函数、函数指针的比较
- C数组与指针
- c 指针与数组
- C 数组与指针
- C数组与指针
- 指针与数组 C
- C指针与数组
- c数组与指针
- C-数组与指针
- C指针与数组
- 架构设计:系统间通信(20)——MQ:消息协议(下)
- IAR之调试msp430
- Redis 延迟产生的主要原因分析
- 让Hive支持行级insert、update、delete
- 软件架构漫谈笔记
- C++指针数组与数组指针的比较
- 电脑快捷键
- 二进图片保存到本地或服务器
- git命令
- MyEclipse+Tomcat+MAVEN 学习搭建
- TCP/IP详解(六)---UDP:用户数据报协议
- 整合营销的必要性
- c++实验6--数组操作
- dirname(__FILE__) 的使用总结