在C语言中,未知数组长度可以通过指针来表示。具体来说,可以使用指针作为数组的首地址,并且在定义指针时不给定具体的数组长度。
例如:
int *arr; // 定义一个整型指针arr,表示未知长度的整型数组
int length; // 声明一个变量length,表示数组的长度
printf("请输入数组的长度:");
scanf("%d", &length);
arr = (int*)malloc(length * sizeof(int)); // 根据用户输入的长度动态分配内存
// 使用arr指针访问数组元素
for (int i = 0; i < length; i++) {
arr[i] = i + 1;
}
// 打印数组元素
for (int i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
free(arr); // 释放动态分配的内存
在上述代码中,首先定义了一个整型指针arr
,然后通过malloc
函数动态分配了length
个整型变量的内存空间,并将首地址赋给arr
。接下来可以通过arr
指针访问和操作数组元素。最后使用free
函数释放动态分配的内存空间。