每次学完数组之后就是当时学完,当时特别的清楚,可是过了几天却就忘,今天我就把一维数组二维数组的知识点总结如下:
1.一维数组常见用法如下:
1.1一维数组的数组名称:
除了两种特殊的情况以外,都是指向数组第一个元素的指针。
特殊情况1:sizeof(数组名)求得的是整个数组的大小
特殊情况2:对数组名取地址,是一维的数组指针,它的步长整个一维数组的长度
一维数组名是一维数组的首地址,等于&arr[0](第一个元素的地址)
1.2一维数组指针的定义方式:
1 | int arr[5] = { 1, 2, 3, 4, 5 }; |
2.二维数组常见用法
2.1 二维数组名
二维数组名 除了两种特殊情况外,是指向第一个一维数组的 数组指针(int(*p)【3】)
特殊情况1:sizeof 统计二维数组大小
特殊情况2:对数组名称取地址 int(*p)【3】【3】 = &arr
二维数组的数组指针跟一维数组指针的定义方式类似:只是多了个维度(int(*p)【3】【3】)。
1 | int arr2[][3] = { {1,2,3},{4,5,6},{7,8,9} }; |
3 不要放回局部变量的地址,字符串也不行
1 | //出现乱码,因为str是局部变量开辟在栈区,在当前函数结束就被释放,我们无权操作 |
转载:请标明原创,谢谢