为了账号安全,请及时绑定邮箱和手机立即绑定

请问指针需要指针

请问指针需要指针

C
尚方宝剑之说 2020-01-06 08:00:24
存储指针地址需要什么?  int a = 2;  int *p = &a;  int **q = &p;有实际用途吗?实时应用。
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

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);

}



查看完整回答
反对 回复 2020-01-07
?
慕的地10843

TA贡献1785条经验 获得超8个赞

一种用途是从函数内部更改指针的值。例如:


#include <stdio.h>


void swapStrings(const char **strA, const char **strB)

{

    const char *tmp = *strB;

    *strB = *strA;

    *strA = tmp;

}


int main()

{

    const char *a;

    const char *b;

    a = "hello";

    b = "world";

    swapStrings(&a,&b);

    // now b points to "hello" and a points to "world"

    printf("%s\n", a);

    printf("%s\n", b);

}

输出:


world

hello



查看完整回答
反对 回复 2020-01-07
  • 3 回答
  • 0 关注
  • 441 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信