字串常量
定義:在乙個雙引號""內的字串行或者轉義字元序列稱為字串常量
例如:"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中獲取要執行的應用程式以及相關...