鱼C论坛

 找回密码
 立即注册
查看: 2561|回复: 6

为什么这个函数要定义一个指针,但反回的不是地址,

[复制链接]
发表于 2016-7-15 12:57:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
char *CreateVarifyCode(char dest[],int len)
{
     int i, isNum, isUpp;
     for(i = 0; i < len; ++i) 
     {
           isNum = rand() % 2;//isNum的值非0即1 
           if(isNum)
           {
                    dest[i] = rand() % 10 + '0'; 
           }
           else
           {
               isUpp = rand() % 2;
               if(isUpp)
               {
                        dest[i] = rand() % 26 + 'A'; //生成一个随机的大写字母 
               }
               else
               {
                   dest[i] = rand() % 26 + 'a'; //生成一个随机的小写字母 
               } 
           }
     }
     dest[i] = '\0';
     return dest; 
}






为什么 有人知道吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-15 13:25:02 | 显示全部楼层

楼主,别掉进误区!

char* p;
char arr[];

在你理解,是不是 return p 就是返回地址,return arr 就不是返回一个地址了?

arr - &arr[0] 不是一样吗? 别思维固化了,会让自己钻牛角尖的。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-7-15 13:28:57 | 显示全部楼层
n0noper 发表于 2016-7-15 13:25
楼主,别掉进误区!

char* p;

那为什么它还要给定义个指针类型的函数·······
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-15 13:31:10 | 显示全部楼层
ljx6517999 发表于 2016-7-15 13:28
那为什么它还要给定义个指针类型的函数·······

因为调用它的地方 需要啊

char[] fun()
这样也行啊 ,但貌似C不支持吧?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-15 15:46:11 | 显示全部楼层
char dest [] 作为函数形参传入时就已经退化为指针 char *dest;所以返回的就是一个指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-23 07:37:30 | 显示全部楼层
返回的就是指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-7-23 11:43:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-30 23:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表