一小段C语言指针的问题 谢谢

charch;do{*buffer++=ch;}while(ch!=13)*buffer=0;函数名称是readline(*buffer)请问一下这一小段还是事怎么个意思... char ch;
do{
*buffer++ = ch;}
while (ch!= 13)
*buffer = 0;

函数名称是readline(*buffer)
请问一下这一小段还是事怎么个意思?其实就是do while中间那一句话的作用..麻烦说的详细一点,谢谢了,加分
1L 不好意思我想问的是具体指针如何操作的,因为刚开始用C,指针很混乱。 中间这句话是把ch放在指针所指的地址上还是替换指针指的数呢?*不是取值么?还有指针自加1到底是+1个byte还是+4个byte 因为32位机里即使是char *也占用4byte 谢谢!
展开
 我来答
临水91
2010-10-13 · TA获得超过168个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:98.4万
展开全部
你好!

“do while中间那一句话”是指这个(*buffer++ = ch)?

按我的想法是:将ch的值赋给指针buffer的下一个指针;

不过这段代码貌似不全,比如buffer是怎么声明,是指针还是指针数组,这其中差别很大的!

估计是指针数组,那么整段代码的意思就是:

先将ch的值赋予指针数组*buffer的第一个元素(*buffer++ = ch);

然后又将ch的值赋予指针数组*buffer的下一个元素(即第二个);

如此重复,直到ch!= 13时,*buffer = 0;

明白否?
777999666qhw
2010-10-13 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4658万
展开全部
不断的读取输入的字符,并且放入到*buffer里面,当遇到字符是回车是,退出

也就是 读取一整行的 输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiugeen
2010-10-13 · TA获得超过210个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:173万
展开全部
你上面的代码应该有一个定义char *buffer; char str[]; buffer=str; *buffer是一个指向str的char型指针,buffer表示str[]的首地址,*buffer表示指向的数组的第一个str[0],而*buffer++表示运行完当前语句(*buffer++)后,地址butffer+1,而*buffer就指向了下一个值,也就是buffer地址移到了下一位(str[1]的地址),因为是循环语句,所以该语句一直运行,直到str[]=13时停止。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiandi222
2010-10-13 · 超过30用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:91.6万
展开全部
对于指针buffer,直接用buffer是对buffer本身进行操作,而*buffer是对buffer所指的那个单元进行操作。按你的代码的意思,你的buffer应该是指向char数组,当你对数组中的一个单元赋值了,然后buffer++将指针移到下一个数组元素的地址去,而*buffer=ch;是将ch的内存存到buffer指向的那个数组单元里面去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式