本文目录
C语言程序中怎么用指针代替数组谁能简单的举个例子说明一下
int a;int *p=&a//*(p+n)=a;int a;int *p;p=a;//注意只能是这种格式;此指针指向的是列地址。//*(p+11)=a;int *p;p=a;//注意只能用这种格式,指向的是行地址。//*(*(p+i)+j)=a;
c语言数组指针
② 指向iArray输出2 (因为*(++p)是先自加然后取指针内容)③ 指向iArray就是4)④ 指向iArray输出2 (因为*(p--)相当于 *(p) ;p--; 是先取值, 然后自减,自减后p=0)/******④有异议 不管怎么样, 输出的都是2 ,因为假如是 printf("%d",$(p--)); 则是 printf("$d,$p");p--; 就是输出的时候, p是指向iArray*******/⑤ 指向iArray从1变成了2)⑥ 指向iArray输出2 (因为p是指向数组的索引0的位置,⑤中指针位置没变,变得是里面的值,本来是1, ⑤之后变成了2)⑦ 指向iArray输出3 (因为++(*p)是取出*p之后, 自加, 然后输出,所以*p是2 2++是3)⑧ 指向iArray输出3 (⑦中没改变指针, 只改变了指针指向的位置的值, 是⑦中2++的结果,是3)/*这里考验的是i++ 和++ i的区别比如 a=i++; 相当于 a=i; i++;而 a=++i ; 则相当于 i++;a=i;一个是先赋值再递加,一个是先递加再复制另一个是考*p++和*(p++)的区别, *p++改变的是*p的值就是指针指向的值 , 而*(p++)改变的是p的值*/
C语言指针数组
应该是因为你这个ptr_image是char *的数组,改成unsigned char *的数组