举例说明:

1)int* p[2] 是一个指向int型的指针数组,即:p是包含两个元素的指针数组,指针指向的是int型。

可以这样来用:

#include <iostream>
using namespace std;
int main(int argc, char* argv[]){
int* p[2];
int a[3] = {1, 2, 3};
int b[4] = {4, 5, 6, 7};
p[0] = a;
p[1] = b;
for(int i = 0; i < 3; i++)
cout << *p[0] + i;// cout << **p + i;
cout << endl;
for(i = 0; i < 4; i++)
cout << *p[1] + i;// cout << **p + i;
return 0;
}

(2)对于 int (*p)[2], 它相当于一个二维数组的用法,只是它是一个n行2列的数组,可以这样来用:

#include <iostream>
using namespace std;
void main() {
int (*p)[2];
int b[3][2] = {{1, 2}, {3, 4}, {5, 6}};
p = b;
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 2; j++) //cout << p[i][j]; //cout << *(*(p+i)+j);
cout << endl;
}
}

注意:

(1)为行数确定、列数不确定,即为2*n型的。

(2)为n*2型的数组的指针用法,即行数不确定、列数确定。

对于(1)其等价形式如下:

#include <iostream>
using namespace std;
void main() {
int** array;
array = new int* [2];
int a[3] = {1, 2, 3};
int b[4] = {4, 5, 6, 7};
array[0] = a; // *array = a;
array[1] = b; // *(array+1) = b;
for(int i = 0; i < 3; i++) cout << array[0][i];// cout << *array[0] + i;
cout << endl;
for(int j = 0; j < 4; j++) cout << array[1][j];// cout << *array[1] + j;
}


其实以上用法即这我们常用的动态二维数组的用法。

int*p[ ]与int(*p)[ ]的不同相关推荐

  1. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int

    转自: http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/ 在Linux操作系统下使用GCC进行编程,目前 ...

  2. const int * 、int * const、int const* 、const int a(){ } 和int a()const { }的区别和联系

    前言:很多人都把const int * .int * const.int const* 的区别和联系搞混,我自己在学习C++的过程中,也经常性          弄不 清楚,今天特意总结一下,作为学习 ...

  3. 喜闻乐见的const int *p、int* const p、const int* const p

    不废话直接代码示例: 1 void f(const int *p) { 2 3 int b = 10; 4 5 *p = 10; // error 6 7 p = &b; // fine 8 ...

  4. int(1) 和 int(10) 有什么区别?资深开发竟然分不清!

    欢迎关注方志朋的博客,回复"666"获面试宝典 困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table x ...

  5. int(1) 和 int(10) 的区别?很多老程序都理解错了!

    欢迎关注方志朋的博客,回复"666"获面试宝典 最近开发遇到一个问题,涉及到了int(1) 和 int(10) 有什么区别?三年老开发也不知道,于是自己上网 google 研究了下 ...

  6. int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!

    文章来源:https://sourl.cn/ZVQP6t 困 惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx A ...

  7. 2020-09-21C++学习笔记之与C语言区别和加强——四种const意义(const int a; int const b; const int *c; int * const d)

    2020-09-21C++学习笔记(const int a; int const b; const int *c; int * const d) 这两天在上课更新晚了. 1.C/C++中的const ...

  8. const int *,const int * const和int const *有什么区别?

    我总是搞砸了如何正确使用<code>const int* , const int * const和int const * . 是否有一组规则定义您可以做什么和不能做什么? 我想知道在分配, ...

  9. int p 与int p 的不同

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 举例说明 ...

最新文章

  1. SpringBoot集成Flowable
  2. 问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新
  3. c位边上还有什么位_c位是什么意思?C位说法的由来是什么?c位旁边二个位置叫什么?...
  4. 企业实战06:Oracle数据库_约束
  5. java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制
  6. oracle orm 实例 java_Oracle数据库的JDBC查询实例
  7. ado.net mysql 下载_ADO.Net连接Mysql
  8. aws rds监控慢sql_AWS RDS SQL Server恢复模型,备份和还原
  9. 如何提取HTML代码中img的src地址?
  10. 《ES6标准入门》学习笔记
  11. 咱也写个小写数字转大写金额 ,纯粹字符串操作实现
  12. 基于 Spring Boot + Vue.js + MySQL 的 QQ 登陆实战
  13. Thinkphp6调用企业微信官方weworkapi配置接收消息服务器方法
  14. 圆柱体的投影特点_机械制图常识:圆柱体
  15. Aiml智能标记语言规范(20201216)
  16. 金山文档手机app服务器异常,手机为什么打不开金山文档 打不开金山文档怎么办...
  17. keep 虚拟路线修改器_王者无限技能10.2最新版-王者无限技能修改器下载
  18. 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。
  19. 总谐波失真80_如何将总谐波失真(THD)控制着10%以下? - 全文
  20. C++ STL?看这篇就够啦。草履虫都能学会的STL教程!

热门文章

  1. 变态跳台阶,很难很难,终于想出来了,附推导过程,为自己鼓掌
  2. g++ 生成C++ .so库文件,并调用示例
  3. 高成本低收益的市场现状下 安防企业该怎么办?
  4. Yum编译安装Error Downloading Packages报错
  5. 使用复合数据类型——PL/SQL表
  6. 小弟的新书《Ext JS权威指南》终于出版了
  7. nodejs web开发入门: Simple-TODO Nodejs 实现版
  8. Groovy初体验:构建高性能JVM应用
  9. 发布Web应用程序时发生的“xx.aspx.cs文件不存在”错误
  10. 物联网正在给批发业带来新的商业模式