举例说明:1)int* p[2] 是一个指向int型的指针数组,即:p是包含两个元素的指针数组,指针指向的是int型。可以这样来用:

#include

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

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

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;

}

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

c语言(int*p),浅析int*p[ ]与int(*p)[ ]的区别相关推荐

  1. c语言map函数k v都是int,Go语言sync.Map(在并发环境中使用的map)

    Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m := make(m ...

  2. c语言int转换成float,int怎么转化为float 将 int型变量n转换成float型变量的方法是...

    请问C语言中如何将int转换为float 将 int型变量n转换成float型变量的方法是 A float n B (float )n C float( n) D( float) ( n)不懂小编的人 ...

  3. C语言学习(八)整数(int、short、long)的具体介绍、不同进制表示、输出,sizeof、unsinged的使用

    整数(int.short.long)的具体介绍.不同进制表示.输出,sizeof.unsinged的使用 int.short.long的用法及区别.为什么要用short.long? 在现代操作系统中, ...

  4. c语言中计算long,C语言中int、long int、long long的区别

    1.关于int 和 long int (1)在VC下没有区别.两种类型均用4个字节存放数据. (2)VC是后出的编译器,之前有很多早期的C编译器,在早期编译器下long int占4个字节,int占2个 ...

  5. gotoprint函数在c语言,C语言之goto浅析

    1.  读代码时遇了的疑惑点: static int do_bind(const char *host, int port, int protocol, int *family) { int fd; ...

  6. python int函数的实现_python实现int函数的案例分析

    python实现int函数的案例分析 发布时间:2020-08-06 14:35:55 来源:亿速云 阅读:88 作者:小新 python实现int函数的案例分析?这个问题可能是我们日常学习或工作经常 ...

  7. c语言程序越界,浅析C语言编程中的数组越界问题

    因为C语言不检查数组越界,而数组又是我们经常用的数据结构之一,所以程序中经常会遇到数组越界的情况,并且后果轻者读写数据不对,重者程序crash.下面我们来分析一下数组越界的情况: 1) 堆中的数组越界 ...

  8. c语言中 static int,c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了。...

    c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  9. java int 运算符_Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...

最新文章

  1. Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis
  2. Kudu:为大数据快速分析量身定制的 Hadoop 存储系统
  3. HDU 1875 畅通工程再续
  4. Android安全笔记-Service基本概念
  5. 【英语学习】【Level 07】U05 Best Destination L6 Paradise on Earth
  6. vi/vim的使用方法及常用的快捷键--vimer们的福音
  7. mysql instead of触发_Instead of触发器
  8. 中南大学 科学计算与MATLAB语言 11矩阵求值
  9. RabbitMQ 线上事故!慌的一批,脑袋一片空白……
  10. 构建WebIM聊天程序
  11. python与开源_Python与开源GIS
  12. CTF逆向(Reverse)知识点总结
  13. web服务器软件有哪些?带你快速了解
  14. 关于词嵌入(Word Embedding)的一些总结
  15. 面纱星云的西面纱中的女巫帚星云
  16. xor指令加解密(笔记)
  17. K8S理论篇----K8S的概述
  18. java图片马赛克_朋友圈照片打上马赛克,就真的安全了吗?
  19. JavaScript:探索神秘的旁门左道奇淫技巧
  20. JBPM的一些基本概念

热门文章

  1. c语言孪生素数问题_C语言编程。。孪生素数
  2. windows浏览器报错ERR_CONNECTION_REST
  3. 立体视觉(一)立体标定
  4. ZFAKA网站搬家注意事项
  5. 聚焦:人工智能与电子商务
  6. 电商平台淘宝商品详情接口调用展示
  7. 【常见的深度学习框架】
  8. Python 图书分类
  9. 银联在线支付技术开放平台SDK下载地址
  10. 初中生上技校学计算机,初中毕业学啥技术好 初中毕业上技校学什么专业