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

C 語言符號與引用機制深度解析:從強弱符號到參數傳遞本質

     編輯:關於C語言

核心內容:強弱符號與引用(同 ID 196003,此處不重複)

本文前半部分與 ID 196003 內容高度重合,核心觀點已在前文系統闡述。此處補充後半部分關於參數傳遞與音樂力度符號的額外討論。

補充專題:C/C++ 參數傳遞的三種形態

1. 值傳遞(C 預設、唯一機制)

void func(int a) { a++; }  // a 是拷貝
int main() { int b=1; func(b); printf("%d", b); // 1 }

形參佔用獨立棧空間,函數返回即銷毀,外部實參不受影響。

2. 指針傳遞(C 模擬引用的標準方式)

void func(int *a) { *a = 1989; }
int main() { int b=1; func(&b); printf("%d", b); // 1989 }
  • 傳遞地址的值拷貝(地址本質是整數)。
  • 函數內通過解引用 *a 訪問原對象內存。
  • 指針變量 a 自身是局部的,函數結束銷毀,但指向的內存持久。

3. C++ 引用傳遞(別名機制,C 無此特性)

void func(int &a) { a = 1989; }  // a 與 b 共享同一內存地址
int main() { int b=1; func(b); printf("%d", b); // 1989 }

引用是變量的別名,編譯層面實現,無額外內存開銷,語法上像值傳遞,語義上是引用傳遞。

統一歸納:只有兩類語義效果

  1. 改變實參對象:指針/引用傳遞並解引用修改。
  2. 不改變實參對象:純值傳遞(含指針值本身不變的情況)。

閒談:音樂力度記號對照表

文末附錄的音樂術語與 C 概念無關,僅作筆記保存:

記號全稱中文含義
fforte強響亮
ppiano弱柔和
mfmezzo-forte中強中等響亮
mpmezzo-piano中弱中等柔和
cresc / <crescendo漸強逐漸增強
dim / >diminuendo漸弱逐漸減弱
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved