IOS筆記 C語言中的字串陣列 指標

2022-02-21 02:37:35 字數 2106 閱讀 8926

1、字串

用「」引起來的內容,就是字串。

在c語言中有沒有專門的字串的變數?  沒有

所以我們使用字元陣列來儲存字串。(把字串的每乙個字元儲存到字元陣列的每乙個元素中,並且會多存放乙個『\0』)

'\0' 字串的結束標記,ascii碼表中值是 0 對應的字元。nut,null

2、字元陣列

1)定義

char 數祖名[長度];   

char str[200]; 表示定義乙個長度為200的字元陣列,如果用來儲存字串,則字串的最大長度是199,留出乙個給'\0'

char str[3]=;  //不能以%s進行輸出

2)初始化

(1)完全初始化

char str[3]=;

(2)部分初始化

char str[3]=;

(3)用字串進行初始化

char str[10]="itcast";  //占用了7個位元組因為'\0'占用了乙個

char str[10]=;

3)字元陣列的引用

如果把字元陣列的內容逐個取出,str[0]、str[1]....str[n-1];

%s 字串的格式控制符把字元陣列整體進行輸出

%s 給乙個字元陣列的首位址,系統會自動從首位址開始連續讀取直到遇到'\0'結束

4)儲存細節

字元陣列儲存的細節:

連續的一片儲存區域(位址是連續的),每個字元占用1個位元組

計算字元陣列(字串)的長度

針對這種定義方法,求長度(會包含'\0'):char str="abc";    //4

sizeof(str)/sizeof(char) =  sizeof(str);

strlen也可以計算字串的長度(不包含'\0'):

strlen(str);                               //3

3、字元數字和普通陣列的區別

char str;   //只能存字元型資料

int  arr;   //只能存整型   資料

4、常見的字串函式6個

gets(陣列名)   表示獲取從鍵盤數輸入的字串(可以接收空格)

puts(陣列名)   表示講陣列的內容輸出到控制台(可以自動換行)

strcat(陣列名1,字串) 表示把字串鏈結到陣列1中(回覆蓋陣列1的\0)

strcpy(陣列名1,字串) 表示把字串拷貝到陣列1中,會覆蓋陣列1中原有的內容

strcmp(字串1,字串2) 比較兩個字串的大小

字串1>字串2    >0  

字串1《字串2    <0

字串1==字串2   ==0

strlen(陣列名) 計算字串的長度(不包括\0)

5、什麼是位址?什麼是指標?

記憶體被作業系統劃分了若干個儲存單元,每個單元是1個位元組(8位)

每個位元組都有位元組的位址,這個位址就叫指標。

位址和記憶體單元是兩個不同的概念

位址是記憶體單元的編號

記憶體單元是位址對應的實際儲存內容。

6、指標變數

用來存放位址的變數,就稱為指標變數

1)定義

資料型別  *指標變數名 ;      //指標變數是個變數,指標是常量

"*" 在兩個場合起作用:

定義指標的時候使用   int *a;  // *表示定義乙個指標變數

在指標對應的儲存單元內容的時候用     *a   //表示獲取指標變數中存放的位址所對應的儲存內容

2)初始化

指標定義完成以後,要初始化,如果不初始化,則這個指標成為野指標

可以用null 也可以用 0 進行初始化,表示這是乙個空指標,什麼也不指。

正常情況下的初始化

int a;

int  *p1 = &a;

3)訪問方法

*指標變數  //表示獲取指標變數中存放的位址所對應的儲存單元的內容

7、指標的使用場景

1)間接修改變數的值

8、多級指標

指標的指標

9、指標為什麼要區分型別

1)資料有不同型別,要指向不型別的資料也需要不同的指標

2)指標是乙個位址,*指標變數  不知道取多少個位元組的內容

c語言中的字元陣列與字串

一 字元陣列的定義 一維字元陣列 用於儲存和處理1個字串,其定義格式與一維數值陣列一樣。char str 20 二維字元陣列 用於同時儲存和處理多個字串,其定義格式與二維數值陣列一樣。char country 10 20 country 第i個字串 二 字元陣列的初始化 字元陣列的初始化.1.可以通...

C語言中的字串和字元陣列

1 字元陣列的定義與初始化 字元陣列的初始化,最容易理解的方式就是逐個字元賦給陣列中各元素。char str 10 即把10個字元分別賦給str 0 到str 9 10個元素 如果花括號中提供的字元個數大於陣列長度,則按語法錯誤處理 若小於陣列長度,則只將這些字元陣列中前面那些元素,其餘的元素自動定...

c語言中的字串與字元陣列

1 字元陣列的定義與初始化 字元陣列的初始化,最容易理解的方式就是逐個字元賦給陣列中各元素。char str 10 即把10個字元分別賦給str 0 到str 9 10個元素 如果花括號中提供的字元個數大於陣列長度,則按語法錯誤處理 若小於陣列長度,則只將這些字元陣列中前面那些元素,其餘的元素自動定...