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

C語言編碼規範與變數基礎教學筆記

     編輯:關於C語言

編碼規範要點

  • 縮進:統一 4 空格(或 1 Tab),大括號風格一致 (K&R / Allman)。
  • 命名:變數/函數 snake_case,常數 UPPER_SNAKE,型別/結構體 PascalCase,巨集 UPPER_SNAKE。
  • 大括號:if/for/while 單行也加括號,防維護錯誤。
  • 行寬:≤ 80/100 字元,長表達式換行對齊。
  • 註解:檔案頭版權、函數用途/參數/回傳、複雜演算法邏輯。

變數宣告與初始化

// 宣告即初始化 (C99 允許混合宣告)
int i = 0, j = 0;
int count = 0;
double pi = 3.14159;

// 多變數同類型
int x = 10, y = 20, z = 30;

// 結構體初始化 (C99 指定初始化器)
struct Circle { double r; };
struct Circle c = { .r = 5.0 };

// 陣列初始化
int a[5] = {1,2,3};      // 剩餘自動為 0
char str[] = "hello";    // 自動計算長度含 \0

常見錯誤示範

// 錯誤:未初始化使用
int x; printf("%d", x); // 未定義行為

// 錯誤:VLA 作為函數參數
void foo(int n, int arr[n]); // 不可移植,C11 可選特性

// 錯誤:區域靜態陣列大小過大
void bar() { int big[1000000]; } // 棧溢位風險

範例程式:圓面積與堆疊模擬

#include <stdio.h>
#define PI 3.1415926

int main() {
    double r = 2.5;
    double area = PI * r * r;
    printf("半徑 %.2f 面積 %.2f\n", r, area);

    // 簡易堆疊
    int stack[10], top = -1;
    #define PUSH(x) do { if (top < 9) stack[++top] = (x); } while(0)
    #define POP() (top >= 0 ? stack[top--] : -1)
    PUSH(1); PUSH(2); PUSH(3);
    while (top >= 0) printf("%d ", POP());
    return 0;
}

教學重點

  1. 變數**宣告即初始化**,消除未定義值 Bug。
  2. 理解**作用域**(區塊、函數、檔案)與**生命週期**(自動、靜態、動態)。
  3. 善用 const 防止誤修改,static 限制連結可見性。
  4. 編碼規範非形式主義,能減少認知負荷與維護成本。

這份筆記整理了 C 語言變數基礎與工程級編碼規範要點,適合入門者建立良好習慣,也可作為代碼審查核對清單。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved