一小段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 谢谢! 展开
do{
*buffer++ = ch;}
while (ch!= 13)
*buffer = 0;
函数名称是readline(*buffer)
请问一下这一小段还是事怎么个意思?其实就是do while中间那一句话的作用..麻烦说的详细一点,谢谢了,加分
1L 不好意思我想问的是具体指针如何操作的,因为刚开始用C,指针很混乱。 中间这句话是把ch放在指针所指的地址上还是替换指针指的数呢?*不是取值么?还有指针自加1到底是+1个byte还是+4个byte 因为32位机里即使是char *也占用4byte 谢谢! 展开
展开全部
你好!
“do while中间那一句话”是指这个(*buffer++ = ch)?
按我的想法是:将ch的值赋给指针buffer的下一个指针;
不过这段代码貌似不全,比如buffer是怎么声明,是指针还是指针数组,这其中差别很大的!
估计是指针数组,那么整段代码的意思就是:
先将ch的值赋予指针数组*buffer的第一个元素(*buffer++ = ch);
然后又将ch的值赋予指针数组*buffer的下一个元素(即第二个);
如此重复,直到ch!= 13时,*buffer = 0;
明白否?
“do while中间那一句话”是指这个(*buffer++ = ch)?
按我的想法是:将ch的值赋给指针buffer的下一个指针;
不过这段代码貌似不全,比如buffer是怎么声明,是指针还是指针数组,这其中差别很大的!
估计是指针数组,那么整段代码的意思就是:
先将ch的值赋予指针数组*buffer的第一个元素(*buffer++ = ch);
然后又将ch的值赋予指针数组*buffer的下一个元素(即第二个);
如此重复,直到ch!= 13时,*buffer = 0;
明白否?
展开全部
不断的读取输入的字符,并且放入到*buffer里面,当遇到字符是回车是,退出
也就是 读取一整行的 输入
也就是 读取一整行的 输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你上面的代码应该有一个定义char *buffer; char str[]; buffer=str; *buffer是一个指向str的char型指针,buffer表示str[]的首地址,*buffer表示指向的数组的第一个str[0],而*buffer++表示运行完当前语句(*buffer++)后,地址butffer+1,而*buffer就指向了下一个值,也就是buffer地址移到了下一位(str[1]的地址),因为是循环语句,所以该语句一直运行,直到str[]=13时停止。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于指针buffer,直接用buffer是对buffer本身进行操作,而*buffer是对buffer所指的那个单元进行操作。按你的代码的意思,你的buffer应该是指向char数组,当你对数组中的一个单元赋值了,然后buffer++将指针移到下一个数组元素的地址去,而*buffer=ch;是将ch的内存存到buffer指向的那个数组单元里面去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询