一维数组名
有两种特殊情况,一维数组名不是 指向第一个元素的指针
1、sizeof
2、对数组名取地址 得到数组指针 步长是整个数组长度
arr数组名 它是一个指针常量 指针的指向不可以修改的,而指针指向的值可以改 int * const a ;
arr[0] = 1000;
arr = NULL;--------》报错
void test01() {
int arr[5] = {
1,2,3,4,5 };
printf("%d\n", sizeof(arr));
//有两种特殊情况,一维数组名不是 指向第一个元素的指针
//1、sizeof
//2、对数组名取地址 得到数组指针 步长是整个数组长度
printf("%d\n", &arr);
printf("%d\n", &arr + 1);
}
输出打印函数
//输出打印函数
void printArray(int arr[], int len) {
for (size_t i = 0; i < len; i++)
{
printf("%d\n", arr[i]);
}
}
数组指针定义方式
1、先定义数组类型,再通过类型定义数组指针
2、先定义数组指针类型,再通过类型定义数组指针
3、直接定义数组指针变量
1、先定义数组类型,再通过类型定义数组指针
typedef int(ARRAY_TYPE)[5];
//ARRARY_TYPE 代表存放5个int类型元素的数组 的数组类型
ARRAY_TYPE arr2;
ARRAY_TYPE *arrP = &arr;
// *arrP == arr == 数组名
void test02