#include "stdafx.h"
int _tmain(int argc, _tchar* argv)
; for (int i = 0; i < 10; i++)
printf("\n***********************************\n");
char* pname = "wangguilin";//將wangguilin儲存到data的唯讀資料段
//只是編譯了首位址 將首位址賦值給了pname
for (int i = 0; *(pname + i) != '\0'; i++) //迴圈條件為判斷\0
printf("-----------------------------------\n");
printf("name=%d\n", sizeof(name)); //列印長度大小
printf("name=%p\n", name); //列印name陣列的首位址
printf("name+1=%p\n", name + 1); //列印陣列中第二個元素的首位址
printf("\"wangguilin\"=%d\n", sizeof("wangguilin")); //列印字串的長度大小
printf("\"wangguilin\"=%p\n", "wangguilin");
printf("\"wangguilin\"+1=%p\n", "wangguilin" + 1);
#endif
//字串本身是以常量存在,但是,有這樣的需要,去改變字串的內容
//此時需要把字串常量,放到字元陣列中去(相當於賦值乙個副本)
//字串常量的性質和字元陣列的性質完全吻合 所以就給=兩邊找到切合點
char name[100] = "wangguilin"; //字串賦值字元陣列 為了進行操作字串
//倆種列印方式都可以,name和"wangguilin"都是常量字元指標
printf("%s\n", name); printf("%s\n", "wangguilin");
//只有name存放的是字串時(有'\0')可以%s列印,是字元陣列時(沒'\0')
//不能用%s列印,用for迴圈列印
name[6] = 'y'; //可以對陣列進行更改 但是常量區的"wangguilin"不能更改
printf("%c\n", name[6]); printf("%c\n", "wangguilin"[6]);
printf("%s\n", name); printf("%s\n", "wangguilin");
return 0;
}
#include "stdafx.h"
int _tmain(int argc, _tchar* argv)
字元陣列與字串
字元陣列與字串 字串就是字元的序列,可看作單個資料項。定義在雙引號之間的字元組 雙引號除外 就是乙個字串常量。例 man is abviously made to think 字串變數的宣告與初始化 c語言並不支援字串資料型別。但是,它允許作為字元陣列來表示字串。因此在c語言中,字串變數就是任何合法...
字元陣列與字串
字元陣列與字串 6.3.1 字元陣列的逐個字元操作 案例6.5 從鍵盤輸入乙個字串,回車鍵結束,並將字串在螢幕上輸出。main i 0 while str x0d printf c str i printf n getch 1 字元陣列的定義 1維字元陣列,用於儲存和處理1個字串,其定義格式與1維數...
字元陣列與字串
char str 6 char str2 6 world printf s n str scanf s str2 for i 0 str i 0 i 說明 系統為了明確區分記憶體上的字串從屬關係,它會去尋找空字元,ascii嗎為0 我們稱為結束符,從陣列名指標位一直往後找,知道找到空字元為止。既然字...