通过引用在C传递指针参数? [英] Passing pointer argument by reference under C?
本文介绍了通过引用在C传递指针参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
#include <stdlib.h>
void
getstr(char *&retstr)
{
char *tmp = (char *)malloc(25);
strcpy(tmp, "hello,world");
retstr = tmp;
}
int
main(void)
{
char *retstr;
getstr(retstr);
printf("%s\n", retstr);
return 0;
}
GCC
不会编译该文件,但添加后的#include&LT; CString的&GT;
我可以用G ++来编译这个源文件。
gcc
would not compile this file, but after adding #include <cstring>
I could use g++ to compile this source file.
问题是:做C编程语言支持通过引用传递指针参数?如果不是,为什么?
The problem is: does the C programming language support passing pointer argument by reference? If not, why?
感谢。
推荐答案
没有,C不支持引用。这是由设计。相反,引用您可以使用指针C.引用指针只在C ++语言的版本。
No, C doesn't support references. It is by design. Instead of references you could use pointer to pointer in C. References are available only in C++ language.
这篇关于通过引用在C传递指针参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文