LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 775|回复: 2

这里问什么要+1 ?

[复制链接]
发表于 2004-1-21 22:28:46 | 显示全部楼层 |阅读模式
在APUE的11-8程序

#define MAX_PASS_LEN 8
........................
static char buf[MAX_PASS_LEN +1 ]

这里为什么要加一,直接在MAX_PASS_LEN设置不就行了吗?
发表于 2004-1-22 00:58:01 | 显示全部楼层
+1是给字符串结尾的'\0'留的,这样程序里就可以直接用MAX_PASS_LEN,如果不+1程序中就要用MAX_PASS_LEN - 1,这个也可以,不过写起来麻烦
发表于 2004-1-22 19:00:28 | 显示全部楼层
也可以为别的用,一般在字符串的最后一个都预留了一位
你学malloc给string分配内存应该看过这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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