在C語言中,數組的傳遞可以通過指針來實現高效傳遞,因為指針可以直接獲取數組的地址并進行操作,而不需要對整個數組進行復制。
以下是幾種實現數組高效傳遞的方法:
void printArray(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
printArray(arr, 5);
return 0;
}
void printMatrix(int (*arr)[3], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
printMatrix(matrix, 2, 3);
return 0;
}
void printDynamicArray(int* arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int size = 5;
int* arr = (int*)malloc(size * sizeof(int));
// 初始化數組
for (int i = 0; i < size; i++) {
arr[i] = i + 1;
}
printDynamicArray(arr, size);
free(arr);
return 0;
}
通過以上幾種方法,可以實現數組的高效傳遞,避免不必要的復制操作,提高程序的執行效率。