c语言中*t++ 和(*t)++分别代表什么

详解!

*t++其实就是*(t++),先取*t,然后t这个指针再后移一位。

(*t)++就是先取*t,把*t这个值再++,就是*t这个值自增1。

*t++是取值后指针自增,(*t)++是取值后把取出来的值自增。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
*t++就是*(t++),也就是先取*t,然后t这个指针在后移一位
(*t)++就是先取*t,然后把*t这个值再++,就是*t这个值自增1,
前一个是取值后,指针自增,后一个是取值后,把取出来的值自增。追问

*(t++)不是先看括号里的么 指针先后移一位 然后再*,那就应该是后一位里面的值啊

追答

++在后是先运算再自增,
如果是*(++t)才是你说的那种情况。

本回答被提问者和网友采纳
第2个回答  2013-08-19
前者是*(t++),t++是t所代表的地址增加一个,*(t++)就是代表指向t的下一个地址的数值;后者就是单纯的让t的地址里的数值加1. 还有不懂得在追问吧,希望能帮到你
第3个回答  2013-08-19
用一个例子来解释:
int *t[2]={3,7};
" *t[]++,++的优先级大于*,先进行t自增,这时t为下一个元素的首地址,*t[0]++=*t[1] "
" 而(*t)++,先进行“ * ”(“指向”)再自增,(*t[0])++表示3++
第4个回答  2013-08-19
a = *t++ : a = *t;t++;指针指向的值不变,指针自加
a = (*t)++ : 指针不变,指针指向的值+1