C 字串常量和字串變數定義和區別

2022-03-18 01:25:15 字數 1258 閱讀 4253

字串常量

定義:在乙個雙引號""內的字串行或者轉義字元序列稱為字串常量

例如:"ha ha!"  "abc"  "\n\t"

這些字串常量是不能改變的,如果試圖改變指標所指向的內容是錯誤的

因為字串常量是存在靜態記憶體區的,不可以改變的。

如定義字串常量:

char* a="i love you.";

*a='h';  //試圖改變它

這是錯誤的。系統顯示:

string.exe 中的 0x00d71398 處未處理的異常: 0xc0000005: 寫入位置 0x00d7573c 時發生訪問衝突或者報該記憶體不能為written。

字串變數

在c語言中沒有純粹的c語言字串變數,可以通過乙個字元陣列來體現,這樣就

可以對字元陣列中的內容進行改變!如上式可改為。

如定義字串變數:

char a="i love you.";

*a='h';

*字串常量

*程式將會報錯,不能改變字串常量值。

*修改失敗

#include

#include

void main()

{char *str = "abcdef";

printf("%s,%p\n", str,str);

*str = 'c'; //修改第三個字元為大寫

printf("%s,%p\n", str);

*字串變數

*程式將改變字串變數中其中的值。

*修改成功

#include

#include

void main()

{char str = "abcdef";

char *p_str = str;

printf("%s\n", p_str);

*(p_str+2) = 'c'; //修改第三個字元為大寫

printf("%s\n", p_str);

小結:

字串常量:不能對值修改。  常量:"abc" 、123、char *str = "abcdef"、"\n"

字串變數:能對值修改 。    變數:char c = "a"、char arr = "abc"

字串常量和變數

定義 在乙個雙引號 內的字串行或者轉義字元序列稱為字串常量 例如 ha ha!abc n t 這些字串常量是不能改變的,如果試圖改變指標所指向的內容是錯誤的 因為字串常量是存在靜態記憶體區的,不可以改變的。如定義字串常量 char a i love you.a h 試圖改變它 這是錯誤的。在c語言中...

字串,字串字面量和字串變數

1.1.1.0 字串的定義 字串是用雙引號括起來的子覅序列,並以乙個空字元來標識字串的結束。1.1.1.1字串常量 1 字串常量的性質 字串字面量是不可改變的量,它作為字元陣列儲存在記憶體空間中。abcdef 如果一行寫不開可以把第一行以 結尾,第二行頂格寫完。abc def 或者將他們分別用雙引號...

C 變數,常量,陣列和字串詳解

目錄 可程式設計裝置包含微處理器和一定數量的臨時儲存空間。臨時儲存器被稱為隨機訪問儲存器 ram ram類似於宿舍裡成排存物櫃的儲存區域,每個存物櫃都有編號,即位址。要訪問特定的記憶體單元,需要使用指令要求處理器從這裡獲取值或寫入值。微處理器負責執行應用程式,並從ram中獲取要執行的應用程式以及相關...