Bar*_*oob 3 c arrays string pointers
char * printstring(void)
{
return "my string";
}
Run Code Online (Sandbox Code Playgroud)
由于函数的作用是返回一个字符数组,为什么我必须声明我的函数返回char*
而不是char[]
声明.
因为C的设计方式,阵列不是一流的公民.您既不能返回它们,也不能通过值将它们传递给函数.
如果你想要实现其中任何一个,你必须将数组包装在一个结构中.
struct ten_chars{ char chars[10]; };
struct ten_chars printstring(void)
{
return (struct ten_chars){"my string"};
}
Run Code Online (Sandbox Code Playgroud)