1.i++与++i
i++; 含义:i=i+1。
++i; 含义:i=i+1。
a = i++; 含义:a先取i的值,然后i再自增。
b = ++i; 含义:i先自增,然后b再取i的值。
例如:
int a=0;
int b=0;
int i=1;
a=i++;//运行完此句后,a值为1,然后i自增,变为2.
b=++i;//运行完此句后,i值先自增,变为3,b值为3.
(个人理解:++在后则后自增,先赋值;++在前则先自增,后赋值。)
2.*p++与*++p
结合例子:
int num[]={0,1,2,3,4};
int *p=num;
int a=*p++;//含义:a先取p指针指向的值,即a=*p=0,然后p指向下一地址。
int b=*++p;//含义:p先指向下一地址next,然后再把next内容赋给b,b=2。
(个人理解:同1)