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

C語言字符串常量與符號常量深度解析:內存佈局差異、#define 宏定義、變量初始化與類型自動轉換規則

     編輯:C 語言基礎

字符串常量 vs 字符常量

  • 字符串:雙引號,可多字符,內存佔 長度+1(含 \0)。例:"C program" 存 C program\0。
  • 字符:單引號,單字符,佔 1 字節。'a' 存 a,"a" 存 a\0。
  • C 無字符串變量,用字符數組存儲字符串。

符號常量 #define

#define PI 3.14159
main() { float r=5, s; s=PI*r*r; }  // 預處理替換為 3.14159
  • 預處理命令,非語句,無分號。
  • 慣用大寫標識符區別變量。
  • 作用域內值不可改(非變量)。

變量初始化

int a=3, b, c=5;  // 允許部分初始化,未初始化者不定值(局部)或 0(靜態)
float x=3.2, y=3.0, z=0.75;
char ch1='K', ch2='P';

不允許連續賦值 a=b=c=5(在聲明中)。

自動類型轉換規則

  1. 混合運算先統一類型,向長度增加方向轉(保精度)。
  2. int+long → long;浮點運算統一升 double。
  3. char/short 參與運算先升 int。
  4. 賦值時右值轉左值類型,長→短截斷捨入(float→int 捨小數)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved