“*pointer++”和“(*pointer)++”有什么区别?
what is the difference between "*pointer++" and "(*pointer)++"?
在我的程序中,我尝试增加指针,但我不确定为什么当我使用 *pointer++ 时它似乎不起作用并且它 returns 1 作为新值。
我尝试在我的程序中使用“*pointer++”,就像您将指针用作数组一样
使用 *pointer=*pointer+1
.
但似乎当我只使用“*pointer++”时,值变为 1
但是当我使用 (*pointer)++
时它起作用了。为什么?
Node=(node *)malloc(num*sizeof(node));
printf("%d",Node);
Node++;
printf("%d",Node);
*pointer++
取消引用对象并增加 pointer
本身,并在序列点之后指向(引用)下一个对象。
(*pointer)++
取消对 pointer
的引用并仅增加(在序列点之后)引用的对象并使 pointer
保持不变
在我的程序中,我尝试增加指针,但我不确定为什么当我使用 *pointer++ 时它似乎不起作用并且它 returns 1 作为新值。
我尝试在我的程序中使用“*pointer++”,就像您将指针用作数组一样
使用 *pointer=*pointer+1
.
但似乎当我只使用“*pointer++”时,值变为 1
但是当我使用 (*pointer)++
时它起作用了。为什么?
Node=(node *)malloc(num*sizeof(node));
printf("%d",Node);
Node++;
printf("%d",Node);
*pointer++
取消引用对象并增加 pointer
本身,并在序列点之后指向(引用)下一个对象。
(*pointer)++
取消对 pointer
的引用并仅增加(在序列点之后)引用的对象并使 pointer
保持不变