c_5:c数组

来源:互联网 发布:网络攻击肉鸡图片 编辑:程序博客网 时间:2024/04/30 03:46

一维数组

int a[10];int *c;c=&a[0]  //&a[0]是指向数组第一个元素的指针
array[i]=*(array+i)&array[i]=array+i=array[0]+i----------------------------------------------------------------------------int array[10];int *ap=array+2;  // ap指向array[2]ap //&array[2]*ap //*(array+2)ap[0]=*(ap+0)=*ap //c语言的下标和简接访问一样ap+6 //ap[2+6]=ap[8]*ap+6 //array[2]+6ap[6]  //*(ap+6)ap[-1]  //上一个元素

指针和数组

int i[]={100,200,300,400,500};int *pi=i;  // pi指向i[0]=100的地址*pi++   //*和++优先级相同,自右向左----->*pi++=*(pi++)----->*pi=100,输出100,然后pi指向下一个地址*++pi  //---->*(++pi)---->pi移到下一个单元----->输出300++ *pi //---->300+1

二维数组

[]等价

int i[7]={0,1,2,3,4,5,6}int *ptr=i;则:*(i+2)=i[2]=*(ptr+2)=ptr[2]
//二维数组int j[2][3]={0,1,2,3,4,5}=>j[1][2]=*(*(j+1)+2)j+1=*(j+1)=j[1]=>下一个一维数组的首地址(j和j+1都是指向包含10个元素的数组的指针)*(j+1)+5=>一维数组的第5个元素

指向数组的指针

int (*p)[10]  //避免使用

指针数组

char *parr[4]={"Department","of","Information","Managment"}//操作符 []和***parr=*parr[]=parr[][]
0 0