标题:帮忙看一下这个红色部分什么意思呀?
只看楼主
未遂1002
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-11-28
结帖率:100%
 问题点数:0 回复次数:3 
帮忙看一下这个红色部分什么意思呀?
char *f(char *s)//f加密,参数是指针(数据的首地址),返回的是一个指针,对S进行加密
{
    int len=strlen(s),i;
    char *news;//将变化 后的结果放到指针news
    news=(char *)malloc(len);
    for(i=0;i<len;i++)//一个一个字符加密
       news[i]=s[i]+5;
    news[len]='\0';
    return news;
}
搜索更多相关主题的帖子: char 加密 指针 malloc for 
2018-12-22 21:17
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
得分:0 
动态分配内存数组
2018-12-22 21:45
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
申请长度为len*sizeof(char)字节的内存空间
也就是长度为len的char数组

因为news是指针类型,所以要强制转换为(char *)

这句应该是
news=(char *)malloc(len*sizeof(char))
因为char占用一个字节,所以省略了

内置变量类型占用的内存字节数根据系统和编译器的不同会有变化
所以要用sizeof计算,不要写死

[此贴子已经被作者于2018-12-22 22:24编辑过]

2018-12-22 22:21
未遂1002
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-11-28
得分:0 
回复 3楼 rohalloway
谢谢,很详细有点明白了
2018-12-22 22:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492227-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.164202 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved