【发布时间】:2014-06-29 21:49:14
【问题描述】:
我在理解这两者之间的区别时遇到了一些麻烦。这两者都是指向指针的指针吗?另外,在哪些情况下它们都适合使用?
【问题讨论】:
我在理解这两者之间的区别时遇到了一些麻烦。这两者都是指向指针的指针吗?另外,在哪些情况下它们都适合使用?
【问题讨论】:
struct node *hash1[MAXSIZE];
struct node **hash2 = hash1;
第一个创建一个由 MAXSIZE 元素组成的数组,但每个元素都是一个指向 struct node 的指针。
第二个创建单个变量,一个指向指针的指针,该指针使用hash1 中第零个指针的地址进行初始化。
您可以在函数的参数列表中使用第二种表示法,或者当您需要对整个哈希表的单个引用时。你在布局内存时使用第一个,创建一个可以稍后修改的哈希表。
【讨论】:
第一个是指向struct node的指针,第二个是MAXSIZE指向struct node的指针的数组。
使用 C 运算符优先规则来解开类型。
【讨论】: