|
++运算符的使用方法楼上的没搞清楚
其表示自加1个单位, 如果是指针的话表示往下移一个单位(一般是用在数组的情况).
++有前缀和后缀的使用方式, 前缀时是先自加后取值, 后缀时是先取值后自加, 如楼上的程序.
m=++i;
上面句的执行可以看作
i=i+1;
m=i;
n=j++;
这句的执行可以看作
n=j;
j=j+1;
所以i,j不是8,10, 而是9,11.
下面讨论一下数组的情况
假设建了一个int数组
我们知道C语中数组名本身是一个指针,指向数组的首地址.假设我们要把数组中所有元素按下标输出.
- int a[10];
- int *p;
- p=a; /*定义一个指针p用于指向数组首地址*/
- for(i=0;i<10;i++) a[i]=i; /*初始化*/
- for(i=0;i<10;i++) printf("a[%d]=%d\n",i,a[i]); /*下标输出方式*/
- for(i=0;i<10;i++) /*指针输出方式*/
- {
- printf("a[%d]=%d\n",i,*p);
- p++; /*往下跳一个元素*/
- }
复制代码
实际上在C语言中数组下标调用最终会转换成用指针的形式
a[5]的实际处理是*(a+5);

[ 本帖最后由 从前有座山 于 2006-4-2 01:41 编辑 ] |
|