假设我有一个字符串。
char *string;
我想将此字符串传递给函数。哪一个占用内存更少?这个:
void function(char *string)
或者这个:
void function(char **string)
<小时/>
第一个复制字符串并将该副本传递给函数,而第二个则直接传递字符串的内容,我是否正确?如果是这样的话,那么第二个选项会占用更少的内存,对吗?
此外,在将变量传递给函数之前什么时候应该取消引用它?
最佳答案
不,第一个仅传递字符串中第一个 char
的地址。事实上,第二种形式会为您的目的带来额外不必要的开销。
关于c - 将取消引用的变量传递给函数可以节省内存吗? - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283394/