回 帖 发 新 帖 刷新版面

主题:串

status StrAssign(HString &T,char *chars)
{
if(T.ch)
free(T.ch);
for(i=0,c=chars;c;++i,++c);/*(这里是什么意思?解释是测量其长度,但限制是c,搞不懂)*/
if(!i)
{T.ch=NULL;T.length=0;
}
else{
if(!(T.ch=(cha*)malloc(i*sizeof(cha))))
exit(overflow);
T.ch[0..i-1]=chars[0..i-1];
T.length=i;
}
return ok;

回复列表 (共2个回复)

沙发

字符串最后一个是0,所以for(;c;);结果的条件是c==0,就是c指到字符串末尾。

板凳

可是chars是一个指向字符串的指针啊,并不是指字符串本 身啊,即使是串 c=chars这种表示对吗

我来回复

您尚未登录,请登录后再回复。点此登录或注册