加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么函数必须返回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"};
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读