注册 登录
编程论坛 C语言论坛

分享一下:我自己想出的不用malloc的函数返回数组的新方法

小焦叔叔 发布于 2020-03-28 13:54, 1491 次点击
就是用结构体把数组包装起来就行了,然后也不用申请和释放空间了,返回后空间就会自己释放,很好用的!!!

struct pinyin
{
    char pinyin[8];
};

...

struct pinyin ReadKey()
{
    struct pinyin pinyin;
    char *ptr=pinyin.pinyin;
    char key=0;

    while(key!=0x0D)
    {
        key=getch();

        if(key>='a'&&key<='z')
        {
            *ptr=key;
            ptr++;
            putch(key);        
        }

        if(key==0x1B)
        {
            flag_exit=1;
            break;
        }
    }

    return(pinyin);
}


[此贴子已经被作者于2020-3-28 13:56编辑过]

2 回复
#2
forever742020-03-28 22:03
就这个函数的功能而言
一般的套路是在上级函数定义数组
并把数组名作为参数传给这个函数
并不需要返回值
这样效率高一些
#3
小焦叔叔2020-03-28 23:06
回复 2楼 forever74
哦,也是。我脑子只想“读”,肯定是读到什么的,所以就想返回读到的东西了......
1