指向指针的指针

时间:2009-05-18 21:24:06

标签: c pointers

重复:

  

Uses for multiple levels of pointer dereferences

我对C和指针有疑问。

我知道什么时候需要一个指针,即使我需要一个指向指针的指针。 一个例子是如果我有一个链表,并且我想编写一个删除该列表元素的函数,为此我需要发送一个指向列表头部指针的指针。

指向指针指针的指针怎么样?是否会出现需要的情况?如果您有一些示例代码,那么我可以真正了解它。

4 个答案:

答案 0 :(得分:2)

向量是*,数组是**,音量是***,时间是****。

答案 1 :(得分:0)

非常罕见,但您可以想象某种引用计数场景,您需要获取其他对象的指针地址并进行更改。

答案 2 :(得分:0)

如何从链接列表数组中的链表中删除元素的函数,或者从链接数组数组中的链表中删除元素的函数......你明白我的观点。

答案 3 :(得分:0)

指针在某种意义上是数组。这是一个简单的场景。假设您正在构建文本编辑器。线条和列都是动态的。

你可能有一个“数组”的行,因为它们是动态的,那就是一个指针。然后你的列也将是动态的,可能包含在你的行数组中。所以本质上:

char **lines;

在添加字符之前,你必须先对你的行进行malloc,但这可能会为编辑提供一种非常粗糙的方法。

lines = malloc(num_of_lines_in_my_file);
lines[0] = malloc(num_of_chars_for_line_1);

当然不是很漂亮的代码,但希望它有点回答这个问题。