请问指针需要指针

存储指针地址需要什么?


  int a = 2;

  int *p = &a;

  int **q = &p;

有实际用途吗?实时应用。


尚方宝剑之说
浏览 442回答 3
3回答

函数式编程

A **只是指向指针的指针。因此,其中*p包含的地址p,p**包含的地址,p*其中包含p对象的地址。**当您要保留内存分配或分配,甚至在函数调用之外时,也可以使用。还要检查这篇文章。例:-void allocate(int** p){  *p = (int*)malloc(sizeof(int));}int main(){  int* p = NULL;  allocate(&p);  *p = 1;  free(p);}

慕的地10843

一种用途是从函数内部更改指针的值。例如:#include <stdio.h>void swapStrings(const char **strA, const char **strB){&nbsp; &nbsp; const char *tmp = *strB;&nbsp; &nbsp; *strB = *strA;&nbsp; &nbsp; *strA = tmp;}int main(){&nbsp; &nbsp; const char *a;&nbsp; &nbsp; const char *b;&nbsp; &nbsp; a = "hello";&nbsp; &nbsp; b = "world";&nbsp; &nbsp; swapStrings(&a,&b);&nbsp; &nbsp; // now b points to "hello" and a points to "world"&nbsp; &nbsp; printf("%s\n", a);&nbsp; &nbsp; printf("%s\n", b);}输出:worldhello
打开App,查看更多内容
随时随地看视频慕课网APP