C 变量名称前的两个星号

C 变量名称前的两个星号,c,C,在挖掘一些C源代码时,我发现了这段代码 char **words 我知道变量名“指向”指针之前的单个星号,但这两个星号的用途是什么?它是指向指针的指针 它主要在使用字符串数组时使用 例如:您有字符样本[5][5];-它可以存储5个长度为4的字符串 如果需要将其传递给函数,func(示例) 这种函数的函数定义是func(char**temp) 简单的家伙! 它指向指向它的指针 **a指向指针*a 就这样 要了解更多信息,你可以在谷歌上搜索 // your imagination is the

在挖掘一些C源代码时,我发现了这段代码

char  **words

我知道变量名“指向”指针之前的单个星号,但这两个星号的用途是什么?

它是指向指针的指针

它主要在使用字符串数组时使用

例如:您有
字符样本[5][5]
;-它可以存储5个长度为4的字符串

如果需要将其传递给函数,
func(示例)

这种函数的函数定义是
func(char**temp)

简单的家伙! 它指向指向它的指针

**a指向指针*a 就这样

要了解更多信息,你可以在谷歌上搜索

// your imagination is the limit
char letter;
char *word;        // sequence of letters
char **sentence;   // sequence of words
char ***paragraph; // sequence of sentences
char ****book;     // sequence of paragraphs
char *****library; // sequence of books

数据结构可能不是表示概念的最佳方式:这只是一个示例。

这有多有用?谁能给我举个简单的例子吗?非常非常有用,就像指向非指针的指针一样有用,例如int或函数。额外级别的间接寻址总是一个潜在的有用方法“指向指针的指针在实践中有什么好处?一个用途是通过指针参数从函数返回指针,而不是作为形式返回值“慢慢来,阅读整个页面;)假设您了解什么是
char*word
,添加额外的
*
s
以获得
char**words
应该不会太难可视化?2d数组与该函数声明不兼容。