为什么函数必须返回char *而不是char数组?
发布时间:2020-12-16 10:07:20 所属栏目:百科 来源:网络整理
导读:char * printstring(void){ return "my string";} 由于函数的作用是返回一个字符数组,为什么我必须声明我的函数在声明中返回char *而不是char []. 解决方法 因为C的设计方式,阵列不是一流的公民.您既不能返回它们,也不能通过值将它们传递给函数. 如果你想要
char * printstring(void) { return "my string"; } 由于函数的作用是返回一个字符数组,为什么我必须声明我的函数在声明中返回char *而不是char []. 解决方法
因为C的设计方式,阵列不是一流的公民.您既不能返回它们,也不能通过值将它们传递给函数.
如果你想要实现其中任何一个,你必须将数组包装在一个结构中. struct ten_chars{ char chars[10]; }; struct ten_chars printstring(void) { return (struct ten_chars){"my string"}; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |