服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - 浅析int*p[ ]与int(*p)[ ]的区别

浅析int*p[ ]与int(*p)[ ]的区别

2020-12-17 15:09C语言教程网 C/C++

以下是对int*p[ ]与int(*p)[ ]的区别进行了详细的分析介绍,需要的朋友可以参考下

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

复制代码 代码如下:


<SPAN style="BACKGROUND-COLOR: rgb(255,255,255)">#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;
}</SPAN>


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

复制代码 代码如下:


<SPAN style="BACKGROUND-COLOR: rgb(255,255,255)">#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;
}
}</SPAN>


注意:
(1)为行数确定、列数不确定,即为2*n型的。
(2)为n*2型的数组的指针用法,即行数不确定、列数确定。
对于(1)其等价形式如下:

复制代码 代码如下:


<SPAN style="BACKGROUND-COLOR: rgb(255,255,255)">#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;
}</SPAN>


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

  • int
  • 延伸 · 阅读

    精彩推荐
    • C/C++C语言main函数的三种形式实例详解

      C语言main函数的三种形式实例详解

      这篇文章主要介绍了 C语言main函数的三种形式实例详解的相关资料,需要的朋友可以参考下...

      ieearth6912021-05-16
    • C/C++c/c++实现获取域名的IP地址

      c/c++实现获取域名的IP地址

      本文给大家汇总介绍了使用c/c++实现获取域名的IP地址的几种方法以及这些方法的核心函数gethostbyname的详细用法,非常的实用,有需要的小伙伴可以参考下...

      C++教程网10262021-03-16
    • C/C++C语言实现双人五子棋游戏

      C语言实现双人五子棋游戏

      这篇文章主要为大家详细介绍了C语言实现双人五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

      两片空白7312021-11-12
    • C/C++使用C++制作简单的web服务器(续)

      使用C++制作简单的web服务器(续)

      本文承接上文《使用C++制作简单的web服务器》,把web服务器做的功能稍微强大些,主要增加的功能是从文件中读取网页并返回给客户端,而不是把网页代码...

      C++教程网5492021-02-22
    • C/C++c/c++内存分配大小实例讲解

      c/c++内存分配大小实例讲解

      在本篇文章里小编给大家整理了一篇关于c/c++内存分配大小实例讲解内容,有需要的朋友们可以跟着学习参考下。...

      jihite5172022-02-22
    • C/C++OpenCV实现拼接图像的简单方法

      OpenCV实现拼接图像的简单方法

      这篇文章主要为大家详细介绍了OpenCV实现拼接图像的简单方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

      iteye_183805102021-07-29
    • C/C++深入C++拷贝构造函数的总结详解

      深入C++拷贝构造函数的总结详解

      本篇文章是对C++中拷贝构造函数进行了总结与介绍。需要的朋友参考下...

      C++教程网5182020-11-30
    • C/C++关于C语言中E-R图的详解

      关于C语言中E-R图的详解

      今天小编就为大家分享一篇关于关于C语言中E-R图的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...

      Struggler095962021-07-12