一维数组与二维数组的一些区别

//【一维数组】
/*
#include <stdio.h>
void A(int arr[4])
{
 printf("%d\n",arr);
 printf("%d\n",arr + 1);
 printf("%d\n",arr[0]);
}
int main()
{
 int arr[] = {1,2,3,4};
 A(arr);
 return 0;
}
*/
//arr     数组名:数组元素的首地址(只适用于一维数组) //int*





//arr+1   指针向后移动一个单元格  //int*


//arr[0]  第一个单元格的值   //int



//【二维数组】
/*
#include <stdio.h>
int A(int(*arr)[4])
{
 printf("%d\n",arr);
 printf("%d\n",arr + 1);
 printf("%d\n",arr[0]);
 printf("%d\n",arr[0] + 1);
 printf("%d\n",arr[0][0]);
 return 0;
}
int main()
{
 int brr[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
 A(brr);
 return 0;
}
*/
//brr       //int(*p)[4]  (p是指向整型数组的指针,简称 数组指针)




//brr+1     //指针向后一行移动,不改变数组类型



//brr[0]    //指向第一行的第一个单元格   //int*    可知【 brr[0] == arr 】



//brr[0]+1  //在brr[0]的基础上向后移动一个单元格   //int*



//brr[0][0] //第一行第一个单元格的值   //int

阅读更多

没有更多推荐了,返回首页