深入解析int(*p)[]和int(**p)[]
更新時(shí)間:2013年07月11日 10:50:47 作者:
以下是對(duì)int(*p)[]和int(**p)[]的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
1. int(*p)[10]:
根據(jù)運(yùn)算符的結(jié)合律,()的優(yōu)先級(jí)最高,所以p是一個(gè)指針,指向的一個(gè)維度為10的一維數(shù)組。
p一個(gè)指向數(shù)組的某一行
int a[1][4]={1,2,3,4};
int (*p)[4] = a;//p point to the row of array a
for(int i=0;i<4;i++)
{
cout<<*((*p)+i)<<" ";
}
2. int(**q)[10]
這個(gè)的意義:q是一個(gè)指針,指向的元素就是1.中的p.
下面給一個(gè)例子:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a[2][2]={1,2,3,4};
int (*p)[2] = a;//p point to the row of array a
for(int i = 0;i<2;i++)//output matrix using p
{
for(int j = 0;j<2;j++)
{
cout<<*(*(p+i)+j)<<" ";
}
cout<<endl;
}
int (**q)[2] = &p;//q point to p
for(int i = 0;i<2;i++)//output matrix using q
{
for(int j = 0;j<2;j++)
{
cout<<*(*(*q+i)+j)<<" ";
}
cout<<endl;
}
getchar();
return 0;
}
根據(jù)運(yùn)算符的結(jié)合律,()的優(yōu)先級(jí)最高,所以p是一個(gè)指針,指向的一個(gè)維度為10的一維數(shù)組。
p一個(gè)指向數(shù)組的某一行
復(fù)制代碼 代碼如下:
int a[1][4]={1,2,3,4};
int (*p)[4] = a;//p point to the row of array a
for(int i=0;i<4;i++)
{
cout<<*((*p)+i)<<" ";
}
2. int(**q)[10]
這個(gè)的意義:q是一個(gè)指針,指向的元素就是1.中的p.
下面給一個(gè)例子:
復(fù)制代碼 代碼如下:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a[2][2]={1,2,3,4};
int (*p)[2] = a;//p point to the row of array a
for(int i = 0;i<2;i++)//output matrix using p
{
for(int j = 0;j<2;j++)
{
cout<<*(*(p+i)+j)<<" ";
}
cout<<endl;
}
int (**q)[2] = &p;//q point to p
for(int i = 0;i<2;i++)//output matrix using q
{
for(int j = 0;j<2;j++)
{
cout<<*(*(*q+i)+j)<<" ";
}
cout<<endl;
}
getchar();
return 0;
}
相關(guān)文章
C++命名空間using?namespace?std是什么意思
namespace中文意思是命名空間或者叫名字空間,傳統(tǒng)的C++只有一個(gè)全局的namespace,下面這篇文章主要給大家介紹了關(guān)于C++命名空間using?namespace?std是什么意思的相關(guān)資料,需要的朋友可以參考下2023-01-01
VS報(bào)錯(cuò)C6011的問(wèn)題:取消對(duì)NULL指針的引用(解決方法)
這篇文章主要介紹了VS報(bào)錯(cuò)C6011的問(wèn)題:取消對(duì)NULL指針的引用(解決方法),C6011:取消對(duì)NULL指針的引用,發(fā)現(xiàn)是沒(méi)有進(jìn)行空指針的判斷,解決方案跟隨小編一起看看吧2024-01-01
c++動(dòng)態(tài)內(nèi)存管理與智能指針的相關(guān)知識(shí)點(diǎn)
為了更容易同時(shí)也更安全地使用動(dòng)態(tài)內(nèi)存,新的標(biāo)準(zhǔn)庫(kù)提供了兩種智能指針(smart pointer)類型來(lái)管理對(duì)象,下面這篇文章主要給大家介紹了關(guān)于c++動(dòng)態(tài)內(nèi)存管理與智能指針的相關(guān)知識(shí)點(diǎn),需要的朋友可以參考下2022-03-03
C語(yǔ)言使用posix正則表達(dá)式庫(kù)的實(shí)現(xiàn)
在C語(yǔ)言中,你可以使用 POSIX 正則表達(dá)式庫(kù)(regex.h)來(lái)進(jìn)行正則表達(dá)式的模式匹配,本文主要介紹了C語(yǔ)言使用posix正則表達(dá)式庫(kù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12

