首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言陣列操作工具集:初始化、列印、反轉、清零

     編輯:關於C語言

模組化設計

將陣列常用操作封裝為獨立函式,提高複用性與可讀性。

完整程式碼

#include 

void init(int *arr, int size) {
    for (int i = 0; i < size; i++) arr[i] = i;
}
void print(int *arr, int size) {
    for (int i = 0; i < size; i++) printf("%d ", arr[i]);
    printf("\n");
}
void empty(int *arr, int size) {
    for (int i = 0; i < size; i++) arr[i] = 0;
}
static void swap(int *p1, int *p2) {
    int tmp = *p1; *p1 = *p2; *p2 = tmp;
}
void reverse(int *arr, int len) {
    int left = 0, right = len - 1;
    while (left < right) {
        swap(&arr[left], &arr[right]);
        left++; right--;
    }
}

int main() {
    int arr[10];
    int len = sizeof(arr) / sizeof(arr[0]);
    init(arr, len);      // 0 1 2 … 9
    print(arr, len);
    reverse(arr, len);   // 9 8 … 0
    print(arr, len);
    empty(arr, len);     // 全 0
    print(arr, len);
    system("pause");
    return 0;
}

設計亮點

  • static void swap:內部連結,隱藏實作細節。
  • reverse 使用雙指標法,原地反轉,空間 O(1)。
  • 所有函式接受 int *arr, int size,不依賴固定大小,通用性強。

執行結果

0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved