C語言指標用法詳解 (三) 二重指標

2022-03-21 22:17:22 字數 1690 閱讀 5171

二重指標

int **ptr1 = null;

cout<1) 三省指標: 指標 ptr1  的型別是 int ** ,指向的型別 int*,  指定為空

2) *ptr1 是 ptr 指向的指向 ,即空的指向,非法

3) **ptr1 是 ptr 指向的指向的指向 ,即空的指向的指向,非法

1)三省指標:指標 p  的型別是 int * ,指向的型別 int,  初始化為沒有指定其指向

2)三省指標: 指標 ptr2  的型別是 int ** ,指向的型別 int*,  指標p的位址  (注意此時 ptr2 與 &p 型別相同 都是  int** ,才可以賦值)

3)*ptr2 是 ptr2 指向 ,即&p1的指向,為p1

4)**ptr2 是 ptr2 指向的指向 ,即*ptr2的指向,為*p1

5)指標即是位址,所以   看作 &p1 指向 p1

int * p2 = (int * )malloc(sizeof(int));

int num = 6;

p2 = #

int **ptr3 = &p2;

#include using namespace std;

int main()

{ int * p2 = (int * )malloc(sizeof(int));

int num = 6;

cout<

1)三省指標:指標 p2  的型別是 int * ,指向的型別 int,  初始化 沒有指向,後指向為&num(注意此時 p2 與 &num 型別相同 都是  int* ,才可以賦值)

2)三省指標: 指標 ptr3  的型別是 int ** ,指向的型別 int*,  指標p2的位址  (注意此時 ptr2 與 &p2 型別相同 都是  int** ,才可以賦值)

3)*ptr3 是 ptr3 指向 ,即&p2的指向,為p2

4)**ptr3 是 ptr3 指向的指向 ,即*ptr3的指向,為*p2

5)指標即是位址,所以   看作 &num 指向 num,看作 &p2 指向 p2

吐吐吐吐吐吐吐槽:寫部落格好累啊啊啊啊啊,為啥這麼不好用,是我開啟的方式不對嗎????

C語言之函式指標和二重函式指標

在分析uboot程式時發現乙個函式指標的用法,花了點時間研究一下。做個記錄。先說一下函式指標的基本用法。如下 int init01 void typedef int init func1 void 宣告一種函式型別 typedef int init func2 void 宣告一種函式指標型別 int...

C基礎 二重指標和陣列指標

include int main1 void void fun char arr,int n void fun char arr,int n 二重指標傳參時等價於指標陣列 int main void fun s,3 return0 include int main1 void int p int p...

二重指標指向指標陣列解析

typedef int init fnc t void 定義函式型別 init fnc t init fnc ptr 二重函式指標 init fnc t init sequence for init fnc ptr init sequence init fnc ptr init fnc ptr 函式...