指向指针指针
重复:
用于多级指针解引用
我有一个关于C和指针的问题。
我知道什么时候需要一个指针,即使我需要一个指向指针的指针。 一个例子是如果我有一个链表,并且我想编写一个删除该列表元素的函数,为此我需要发送一个指向列表头部指针的指针。
指向指针指针的指针怎么样? 是否会出现需要的情况? 如果您有一些示例代码,那么我可以真正了解它。
向量是*,数组是**,音量是***,时间是****。
非常罕见,但您可以想象某种引用计数场景,您需要获取其他对象的指针地址并进行更改。
如何从链接列表数组中的链表中删除元素的函数,或者从链接数组数组中的链表中删除元素的函数…你明白我的观点。
从某种意义上说,指针是数组。 这是一个简单的场景。 假设您正在构建文本编辑器。 线条和列都是动态的。
你可能有一个“数组”的行,因为它们是动态的,那就是一个指针。 然后你的列也将是动态的,可能包含在你的行数组中。 所以本质上:
char **lines;
在添加字符之前,您必须首先对行进行malloc,但这可能会提供一种非常粗略的编辑器方式。
lines = malloc(num_of_lines_in_my_file); lines[0] = malloc(num_of_chars_for_line_1);
当然不是很漂亮的代码,但希望它有点回答这个问题。