C语言什么时候必须用到二级指针?(需要调用函数为一维空指针确定值的情况下,需要传入二维指针,也就是那个一维指针的指针)
生活随笔
收集整理的這篇文章主要介紹了
C语言什么时候必须用到二级指针?(需要调用函数为一维空指针确定值的情况下,需要传入二维指针,也就是那个一维指针的指针)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結論:需要調用函數為一維空指針確定值的情況下,需要傳入二維指針,也就是那個一維指針的指針
例子:為空指針p開辟內存空間
1、不用二級指針(無法實現)
#include <stdio.h> #include <stdlib.h>void fun(int* p) {p = (int*)malloc(sizeof(int) * 1);if(NULL!=p)*p = 5; }int main() {int* p = NULL;fun(p);if (NULL != p) {printf("%d\n", *p);}else {printf("p is NULL!\n"); //p is NULL!}return 0; }2、使用二級指針(能夠實現)
#include <stdio.h> #include <stdlib.h>void fun(int** pp) {*pp = (int*)malloc(sizeof(int) * 1);if(NULL!=*pp)**pp = 5; }int main() {int* p = NULL;int** pp = &p;fun(pp);if (NULL != p)printf("%d\n", *p); //5return 0; }參考文章:C語言什么時候必須用到二級指針啊? - 立言兼的回答 - 知乎
總結
以上是生活随笔為你收集整理的C语言什么时候必须用到二级指针?(需要调用函数为一维空指针确定值的情况下,需要传入二维指针,也就是那个一维指针的指针)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海康设备字母编号含义 H5:0,H7:1
- 下一篇: linux进程VSZ(虚拟内存)