C 多重指標

2021-06-17 17:12:53 字數 2018 閱讀 2873

首先看乙個經典的例子:

int ***a,x=10,y=20;

a=(int ***)malloc(sizeof(int)*x);//分配是什麼?

for(i=1;i<10;i++)

for(i=1;i

1:   *a=(int **)malloc(sizeof(int)*x);可以理解為二重指標的第一層,分配了10個int型的二重指標空間

a是三重指標的位址,*a是二重指標的首位址;(*a)[0];(*a)[1];(*a)[2];(*a)[3];(*a)[4]........

2:    (*a)[i]=(int *)malloc(sizeof(int)*y);這個代表每乙個二層指標又被分配了空間;這裡每一二層指標被分配了

20個(int *)的指標;即,每一二層指標又有20個孩子

3:   (*a)[i][j]=10;這樣賦值正確,前邊的(*a)是獲取乙個二維陣列,後邊是乙個二維陣列的乙個元素。直接賦值是可以的

4:  我們同樣可以理解為樹形,幾重指標就是幾層樹

以上是關於三維指標的解釋,二維指標也就是可以理解成二維陣列。

標籤:《無》

01

02//

03

04#include "stdafx.h"

05#include

06

07typedefunsignedshortuint16;

08

09structvideo_struct;

13

14int_tmain(intargc, _tchar* argv)

15

28}

29}

30for(intx1 = 0; x1 < 5; x1++)

31

38}

39}

40_v1.frames = 1;

41_v1.rows = 1;

42_v1.cols = 1;

43_v1.bits_per_component = 1;

44_v1.mode = 1;

45uint16 cds = _v1.data[0][0][0][2];

46return0;

47}

C語言複習 多重指標

多重指標指的是在一條語句中有2個或以上的 如下 include int main int pa int p pa printf initial p d n p p printf after p the p d n p p printf after p,the p d n p p printf aft...

C 動態陣列,多重指標問題

今天遇到乙個問題,要開闢乙個二維指標空間,詳細的看了一下網上有關動態指標 動態陣列等開闢方法以及學習前輩們對於動態陣列問題的解決經驗!一 首先說明一下多重指標問題,這裡解釋到第三層,為了方便理解,我們可以將三重指標理解為三維陣列,首先看乙個經典的例子 int a,x 10,y 20 a int ma...

C 多重繼承的指標問題

下面說說c 多重繼承中關於指標的一些問題。指標指向問題 先看下面的程式 class base1 class base2 class derive public base1,public base2 virtual void fun2 int main 我電腦上的執行結果 首先,可以看到 od和pb1...