📜  传递 int 数组的长度 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:36:23.994000             🧑  作者: Mango

传递 int 数组的长度 - C 编程语言

在 C 编程语言中,传递 int 数组的长度有多种方法。以下是其中几种常见的方法:

1. 传递数组长度作为参数

可以通过将数组长度作为参数传递到函数中来传递 int 数组的长度。

void printArray(int arr[], int len) {
    for (int i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int len = sizeof(arr) / sizeof(arr[0]);
    printArray(arr, len);
    return 0;
}

在上面的代码中,printArray() 函数将 arr 数组作为参数传入,并使用 len 参数来循环遍历数组并打印数组的所有元素。

2. 以 0 结尾的数组

另一种传递 int 数组长度的方法是使用一个以 0 结尾的数组。

void printArray(int arr[]) {
    int i = 0;
    while (arr[i] != 0) {
        printf("%d ", arr[i++]);
    }
    printf("\n");
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 0};
    printArray(arr);
    return 0;
}

在上面的例子中,printArray() 函数使用一个以 0 结尾的数组遍历并打印数组的所有元素。

3. 结构体传递数组

可以使用结构体来传递数组以及数组的长度。

struct Array {
    int arr[10];
    int len;
};

void printArray(struct Array a) {
    for (int i = 0; i < a.len; i++) {
        printf("%d ", a.arr[i]);
    }
    printf("\n");
}

int main() {
    struct Array a = {{1, 2, 3, 4, 5}, 5};
    printArray(a);
    return 0;
}

在上面的示例中,我们定义了一个 Array 结构体来存储 int 数组以及数组的长度。然后,在 printArray() 函数中,我们使用 a.len 来遍历整个数组并打印数组的所有元素。

总结

有多种方法可以传递 int 数组的长度,每种方法都有其自己的优点和缺点。我们在编写代码时需要根据具体情况来选择合适的方法。