| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1697 人关注过本帖
标题:在参数中应用指向常量的指针
只看楼主 加入收藏
吖吼
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2019-1-27
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
在参数中应用指向常量的指针
int strcompare( const char  *str1,const char *str2)
{
    for(;*str1!=0||*str2!=0;str1++,str2++)
    {
        if(*str1>*str2)
            return 1;
        else if(*str1<*str2)
            return -1;
    }
    return 0;
}
这个被调函数是比较字符串大小的,虽然成功了但是却不明白这个函数的运算过程,与不是const又有什么区别
搜索更多相关主题的帖子: 指向 常量 指针 const return 
2019-03-10 08:07
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:20 
加 const 是仅仅告诉编译器在这个函数内指针指向的内存不会发生变动
因为传入的并不是 const char *&, 所以函数内随意对指针进行操作不会改动外面的指针
然后里面的 for 循环是从第一个指针开始走向最后一个指针, 并且比较指针的内容, 此时指针的内容仅仅是单个 char 字符
另外, const char * 和 char *const 是不一样的, 一个限制指针指向的内容, 一个限制指针本身
2019-03-10 11:38
吖吼
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2019-1-27
收藏
得分:0 
内存不会发生改变,但是在这个被调函数这个指针常量可也改变,是这样理解么?
2019-03-10 13:12
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:0 
回复 3楼 吖吼
是的
2019-03-10 21:14
快速回复:在参数中应用指向常量的指针
数据加载中...
 
   



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

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