關於字元陣列:
len1 = strlen(str1);
len2 = strlen(str2);
int i;
for ( i = 0; i < len1; i++)
str3[i] = 『\0』;
1、初始化:
(1)可以像普通陣列一樣,乙個乙個賦值進行初始化
(2)也可以通過直接賦值字串來初始化(僅限於初始化的時候);
2、字元陣列的輸入輸出:
輸入:scanf getchar gets(fgets)
輸出:printf putchar puts
(1)scanf 在%c時可以識別空格和換行並將其輸入
在%s時通過空格或換行來識別乙個字串的結束
(2)getchar/putchar
分別用來輸入和輸出單個字元(getchar不會自動新增\0,需要輸出記得自己加)
(3)gets/puts
gets輸入一行字串(識別換行符作為輸入結束)(fgets會把\n加在陣列中!)
因此scanf完乙個整數後,如果要使用gets,應該先用getchar接收換行符
凡是想用fgets,一定要注意前面有沒有換行符!
puts用來輸出字串,並緊跟乙個換行
3、字元陣列的存放方式
字元陣列的末尾有個空字元\0
在使用gets和scanf輸入字串時會自動新增在輸入的字串後面,並占用乙個字元位
(字元陣列的長度一定要比實際儲存數多1)
puts和printf就是通過識別\0作為字串結尾來輸出
如果不是使用scanf的%s或者gets函式輸出字串,記得在輸出的每個字元後加\0
4、string.h標頭檔案
(1)strlen()
得到字元陣列中第乙個\0前的字元的個數
(2)strcpy()
把字元陣列2複製給字元陣列1,包括\0
strcpy(字元陣列1,字元陣列2)
(3)strcat()
把字元陣列2接到字元陣列1後面
(4)sscanf()/sprintf()
sscanf(str,"%d",&n);把str寫入n
sprintf(str,"%d",n);把n寫入str
還可以有%s %f %c等格式,都能適用
C語言中關於字元陣列和指標陣列
做筆試題目的時候,碰到字元陣列初始化的問題,居然一下子懵了。在c語言中儲存字串有兩種方法 字元陣列和字串指標 這兩者的儲存位置不同,首先字元陣列 區域性變數 是儲存在棧中的 指標指向字串時,則包括了兩部分,指標本身,儲存在棧中 區域性指標變數 字串本身儲存在 段 gcc中是這樣 基於上面一點就會產生...
關於字元陣列 和 字串比較 C
char acstr aaaaa 這個是字元陣列,只含有5個字元 char pcstr aaaaa 這個是字串,含有6個字元,即5個a加乙個結束符 0 輸出的結果 strlen 長度都是5,所以即便是字串,最後取長度的時候,也不考慮 0 strlen 計算字串長度,忽略結束符 0 char p he...
關於字元陣列和字串陣列
首先看2個東東 char str2 這2個哥們兒長的很像,可實際的涵義確差老了。2個都是c裡面的東東。str1叫字元陣列,首先它是乙個陣列,5個元素但長度為4 加上個 0 其實就相當於 abcd 看看怎麼變過來的 首先變為char str1 abcd 然後把括號去掉就是 char str1 abcd...