Dowemo
0 0 0 0

#include<stdlib.h>
#include<stdio.h>
//若有p=a(p指向数组a),则:
//p++(或p+=1),表示p指向下一元素
//(*p)++表示p所指向的元素值加1,而非指针值加1
void main()
{
 int num[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 for (int i = 0; i <10; i++)
 {
 printf("%x,%dn", &num[i], num[i]);
 }
 int *p = num;
//printf("%xn", p);
//printf("%xn", p++);
//printf("%xn", p);
//同样的优先级,计算方向为从右向左,*(p++)仍然是后自增
//*p++与*(p++)等价,有同样的优先级,结合方向为自右向左
//*(p++)与*(++p),前者是先取*p的值,然后p值加1(先根据地址取值,然后地址加1(指向下一个元素)),相当于a[i++];后者是先使p加1,再取*p,相当于a[++i]
 printf("%dn", *p++);
 p = num;
 printf("%dn", *(p++));
//(*p)++;//根据地址取出变量的值自增
//printf("%dn", (*p)++);
//printf("%dn", ++(*p));
//printf("%d,%pn", num[0], num);
 system("pause");
}




Copyright © 2011 Dowemo All rights reserved.    Creative Commons   AboutUs