C語言指針學習--多級指針

多級指針就是指向指針的指針。

#include <stdio.h>//標準頭文件
#include <malloc.h>//動態內存的頭文件
mulPoint(int** q){//定義一個指向指針的指針q,用來修改指針p的值

    *q = (int*)malloc(sizeof(int));//申請一個整型變量的空間,將地址賦給q地址所指向的值,即p
    **q = 5;//將剛申請的整型變變量的空間中賦值爲5,從而p指針所指向的空間的值爲5,即*p=5;
}
int main(void){
    int *p=0;
    mulPoint(&p);//將指針變量p的地址傳遞給mulPoint函數。由於p爲指向整型的指針,所以p的地址應該是int**類型。
    printf("p指向的值爲:%d",*p);//輸出p指針指向空間的值
}

其中動態內存不過是爲了學習變量的跨函數實用,可以定義全局變量,把全局變量的地址賦值給*q,可以達到相同的效果。

發佈了24 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章