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