字符數組

字符數組和數組的定義是一樣的,賦值也和數組差不多,只不過字符數組用來存放字符。其實我感覺用起來也是一樣的。

字符數組的引用

#include <stdio.h>
int main()
{
    int i,j;
    chara[][5]=
    {
        {'B','A','S','I','C'},
        {'d','B','A','S','E'}
    };
for(i=0;i<=1;i++)
{
    for(j=0;j<5;j++)
    {
        printf("%c ",a[i][j]);
    }
    printf("\n");
}
}

在C語言中沒有專門的字符串變量,通常用一個字符數組來存放一個字符串。當把一個字符串存入數組時,也把結束符‘\0’存入數組,并以此作為該字符串的結束標志。有了‘\0’以后,就不必再用字符數組的長度來判斷字符串的長度了。

C語言允許使用字符串的方式對數組作初始化賦值。
例:char c[]={'C',' ','p','r','o','g','r','a','m'};
可寫為:char c[]={"C program"};或去掉{} 寫為:char c[]="C program";

字符數組的輸入輸出:

除了上述賦值方法以外還可以使用printf,scanf函數直接輸入輸出;

字符串處理函數:

  • puts()字符串輸出函數
    一般形式:puts(字符數組名)
    功能:把字符數組中的字符串輸出到顯示器:
int main()
{
    char c[]="string666";
    puts(c);
    return 0;
}

但系統會顯示有問題,所以老師給我們一個mygets的函數。

#include <stdio.h>
void mygets(char *ch,int size)
{
    int i=0;
    for(i=0;i<size-1;i++)
    {
        ch[i]=getchar();
        if(ch[i]=='\n')
            break;
    }
    ch[i]='\0';
    if(i==size-1)
    {
        while(getchar()!='\n');
    }
}
  • gets()字符串輸入函數
    一般格式:gets(字符數組名)
    功能;從標準輸入設備上輸入一個字符串
int main()
{
    cahr st[15];
    printf("input st:");
    gets(st);
    puts(st);
    return 0;
}
  • strcat:字符串連接函數
    一般形式:strcat(字符數組名1,字符數組名2)
    功能:把字符串2中的字符串連接到字符數組1中字符串后面,并刪除數組1中的‘\0’.

  • strcpy:字符串拷貝函數
    一般形式:strcpy(字符數組名1,字符數組名2)
    功能:把字符數組2中的字符串拷貝到字符數組1中。結束標志‘\0’也一同拷貝,。注意:要求字符數組1要足夠長,否則不能全部裝入所拷貝的字符串。

  • strlen:測試字符串長度
    一般形式:strlen(字符數組名)
    功能:測試字符串的實際長度(不含字符串結束標志‘\0’)并作為函數返回值。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 數組在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱...
    朱森閱讀 3,997評論 2 13
  • 用來存放字符量的數組稱為字符數組。 1 字符數組的定義 1. 字符數組的定義 字符數組的定義和整型數組的定義是相同...
    一葉之界閱讀 1,216評論 0 0
  • 計算機二級C語言上機題庫(南開版) 1.m個人的成績存放在score數組中,請編寫函數fun,它的功能是:將低于平...
    MrSunbeam閱讀 6,453評論 1 42
  • 指針是C語言中廣泛使用的一種數據類型。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數據結構; ...
    朱森閱讀 3,470評論 3 44
  • 職場上,有種美德名叫“奉承” 文/寧國濤 我曾經有個名叫楊凱的同事。楊凱是我們單位著名的“馬屁精”,因為他喜歡奉承...
    寧讓職場更給力閱讀 1,094評論 39 50