当前位置:  开发笔记 > 编程语言 > 正文

如何在c中返回char(*)[6]?

如何解决《如何在c中返回char(*)[6]?》经验,为你挑选了1个好方法。

我想按字母顺序排序字符串数组,这是c中字符数组的数组.这是我函数的主体: -

char (*)[6] sort_strings ( char (*sptr) [6])
{

     //code.
     //return a pointer of type char (*)[6].

}

但编译器无法识别这种类型的返回类型.它给出了错误说: -

预期标识符或'('''''''令牌

那么我如何返回char(*)[6]类型的指针?我还有另一个问题,首先看main()如下: -

int main(){

    char names[5][6] = {

            "tom",
            "joe",
            "adam"
    };

    char (*result)[6] = sort_strings (names);

    //code for printing the result goes here.

    return 0;
}

所以我的下一个问题是,当我调用sort strings (names)编译器时也会给我警告: -

初始化使得整数指针不带强制转换

所以我的问题是: -

1.如何从函数返回char(*)[6]?

2.当我调用此函数时,为什么编译器会给我警告?

我在Windows上的代码块上运行此代码.



1> user253751..:

函数声明看起来像变量声明,除了变量名由函数名和参数替换.所以:

// asdf is a pointer to an array of 6 chars
char (*asdf)[6];

// sort_strings is a function returning a pointer to an array of 6 chars
// (and with an argument which is a pointer to an array of 6 chars)
char (*sort_strings ( char (*sptr)[6] )) [6];

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有