免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2669 | 回复: 12
打印 上一主题 下一主题

const问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-09 21:49 |只看该作者 |正序浏览
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
1、第一个const是什么意思;
2、src指向的内存为只读,是src指向的第一个char型为只读,还是p指向的字符串为只读啊。
小弟比较菜,望大家指点

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
13 [报告]
发表于 2010-10-09 22:27 |只看该作者
我记得没错的话,inet_ntop的src参数应该指向是ip地址吧,如struct in_addr或者struct in6_addr等等.好久没用了,自己man吧

论坛徽章:
0
12 [报告]
发表于 2010-10-09 22:26 |只看该作者
我理解你说的了,我有点转牛角尖了

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
11 [报告]
发表于 2010-10-09 22:22 |只看该作者
void *指针是为了某种语法上的通用性.但通用不等于随意,得符合函数要求才行啊!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
10 [报告]
发表于 2010-10-09 22:21 |只看该作者
char *p = (char *)malloc(n);
我把p+1传进函数,那在函数里,是不是p指向char型不是可读,p+1...p+n-1指向 ...
lilikoo 发表于 2010-10-09 22:14



    请仔细理解函数参数的意义

论坛徽章:
0
9 [报告]
发表于 2010-10-09 22:20 |只看该作者
char *p = (char *)malloc(n);
我把p+1传进函数,那在函数里,是不是p指向char型不是可读,p+1...p+n-1指向 ...
lilikoo 发表于 2010-10-09 22:14

函数声明的那些参数列表中都是形参,不管你传什么进去,只要你是正确传过去的(没有语法错误),它都按形参定义的方式进行处理,而不会理会你的实参原来的样子。
所以在这里,它会认为p+1开始的一段内存是只读的。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
8 [报告]
发表于 2010-10-09 22:15 |只看该作者
同时,相应的是inet_ntop希望调用者不要修改其返回指针所指向的内容.

论坛徽章:
0
7 [报告]
发表于 2010-10-09 22:14 |只看该作者
char *p = (char *)malloc(n);
我把p+1传进函数,那在函数里,是不是p指向char型不是可读,p+1...p+n-1指向的char型可读啊

论坛徽章:
0
6 [报告]
发表于 2010-10-09 22:12 |只看该作者
第二个确切的理解是inet_ntop函数体不会对src的实参所指向的数据做任何的修改.
cobras 发表于 2010-10-09 22:10

恩,是这么理解的~对于函数来说,这块内存是只读的,所以它不会修改,算是一种默认规则吧。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
5 [报告]
发表于 2010-10-09 22:10 |只看该作者
第二个确切的理解是inet_ntop函数体不会对src的实参所指向的数据做任何的修改.
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP