我的指针有问题.我知道这是做什么的:
*name
我明白这是一个指针.
我一直在寻找,但我不明白这个人做了什么,也没有找到有用的信息
**name
The context is int **name,not multiplication
有人能帮助我吗?
解决方法
NOTE: Without the proper context,the usage of
*name
and**name
is ambiguous. it may portrait (a). dereference operator (b) multiplication operator
考虑到你在谈论像这样的场景
> char * name;
> char **名字;
在代码中,
> *姓名
name是指向char的指针.
> **名称
name是指向char的指针.
请不要与“双指针”混淆,“双指针”有时用于表示指针指针,但实际上应该指向指向双数据类型变量的指针.
一个视觉下面
如上所述,我们可以说
char value = `c`; char *p2 = &value; // &value is 8000,so p2 == 8000,&p2 == 5000 char **p1 = &p2; // &p2 == 5000,p1 == 5000
所以,这里的p1是一个指向指针的指针.希望现在能让事情变得清晰.