最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

全部開發(fā)者教程

C 語言入門教程

C 語言基礎(chǔ)教程
01 C 語言簡介 02 C 語言的程序結(jié)構(gòu) 03 C 語言的編譯 04 C 語言的標(biāo)準(zhǔn) 05 C 語言中的注釋 06 C 語言中的變量 07 C 語言中的變量類型 08 C 語言的常量 09 C 語言的輸入與輸出 10 C 語言中的 printf() 格式輸出 11 C 語言中的類型轉(zhuǎn)換 12 C 語言中的運(yùn)算符 13 C 語言中的算數(shù)運(yùn)算符 14 C 語言中的位運(yùn)算符 15 C 語言中的邏輯運(yùn)算符 16 C 語言中的三目運(yùn)算符 17 C 語言中的分支結(jié)構(gòu) 18 C 語言中的多重分支 19 C 語言中的分支嵌套結(jié)構(gòu) 20 C 語言中的循環(huán)結(jié)構(gòu) 21 C 語言中的 while 循環(huán) 22 C 語言中的 do-While 循環(huán) 23 C 語言中的 for 循環(huán) 24 C 語言中的多重循環(huán)嵌套 25 循環(huán)實(shí)戰(zhàn),打印九九乘法表 26 C 語言中的break和continue 27 C 語言中的 if 語句 28 C 語言中的 switch/case 語句 29 C 語言中的函數(shù) 30 C 語言函數(shù)的定義和聲明 31 C 語言中函數(shù)的參數(shù)傳入類型 32 C 語言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語言中的數(shù)組 35 C 語言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語言中的字符串 38 C 語言中的字符串函數(shù) 39 C 語言字符串練習(xí) 40 C 語言中的指針 41 C 語言中的 struct 42 C 語言中的 union 43 C 語言中的 maclloc free() 44 C 語言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語言中的字符串

在前面 C 語言的變量類型中介紹過 C 語言中的變量類型。不知道大家有沒有注意到,在 C 語言中有字符類型的變量,但是沒有其他編程語言中經(jīng)常出現(xiàn)的字符串類型,在 JAVA 或者 C# 中用 string 這個(gè)關(guān)鍵字來聲明其類型。但是在 C 語言中是沒有這個(gè)變量類型的。

1. 字符串

在 C 語言中定義的字符串是一個(gè)由字符組成的數(shù)組,這個(gè)數(shù)組的最后一個(gè)元素是一個(gè)表示空的字符 \0 。

字符串 abcde 在 C 語言中的存儲(chǔ)方式如下

char str[]="abcde";
--------------------------
| a | b | c | d | e | \0 |
--------------------------
  0   1   2   3   4   5    索引

2. 字符串的聲明

因?yàn)樽址怯勺址當(dāng)?shù)組存儲(chǔ)的,所以字符串的聲明就是聲明了一個(gè)字符串?dāng)?shù)組。方式如下:

char str[6];

3. 字符串的初始化

字符串的初始化可以直接使用雙引號(hào)的方式,也可以遵循數(shù)組初始化的方式,但是,有一點(diǎn)特別。就是在使用單個(gè)字符逐個(gè)賦值的時(shí)候,最后一個(gè)元素一定是 \0 ,而且最需要注意的是,數(shù)組的容量一定要比你實(shí)際存儲(chǔ)的字符的數(shù)量多一,因?yàn)槟阋米詈笠晃粊泶鎯?chǔ) \0 。

char a[] = "We are family.";
char b[5] = "abcd";
char c[5] = {'a', 'b', 'c', 'd', '\0'}; // 請(qǐng)注意這個(gè)初始化方式,和之前的數(shù)組初始化方式一致。

4. 字符串的使用

字符串的使用中,可以通過雙引號(hào)包圍字符的方式直接給它賦值,但是請(qǐng)注意這個(gè)時(shí)候你可能不知道數(shù)組的大小,可能會(huì)造成數(shù)組的溢出錯(cuò)誤,也就是你的賦值超出了數(shù)組可以存儲(chǔ)的最大的字符的數(shù)量。因?yàn)樽址旧硎峭ㄟ^字符數(shù)組來實(shí)現(xiàn)的,因此,數(shù)組的使用方式在這里是可以使用的。比如你可以訪問字符串中的某一個(gè)字符,或者更改其中的某一個(gè)字符,只要通過其索引位置就可以了, str[9] = 'a';

5. 示例

#include <stdio.h>

int main()
{
    char a[5];
    char b[] = "abcde";
    char c[6] = {'a', 'b', 'c', 'd', 'e', '\0'};

    a[0] = 'H';
    a[1] = 'e';
    a[2] = 'l';
    a[3] = 'l';
    a[4] = '\0';

    printf("a = %s\n", a);

    for (int i = 0; i < 5; i++)
    {
        printf("a[%d] = %c\n", i, a[i]);
    }

    for (int i = 0; i < 6; i++)
    {
        printf("b[%d] = %c\n", i, b[i]);
    }

    printf("c = %s\n", c);

    return 0;
}

運(yùn)行結(jié)果:

a = Hell
a[0] = H
a[1] = e
a[2] = l
a[3] = l
a[4] =
b[0] = a
b[1] = b
b[2] = c
b[3] = d
b[4] = e
b[5] =
c = abcde

示例程序里展示了單獨(dú)聲明字符串 a ,并且在后面為其賦值,初始化變量 bc。接著,我們通過屏幕打印語句查看了字符串的內(nèi)容,并且通過循環(huán)語句,輸出了字符數(shù)組中存儲(chǔ)的字符串。

字符串在 C 語言中是不安全存在的,請(qǐng)大家切記如果不是在初始化的時(shí)候用雙引號(hào)的形式賦值,在使用數(shù)組賦值的時(shí)候,請(qǐng)大家一定不要忘記末尾的結(jié)束符號(hào)。如果缺少了這個(gè)符號(hào),大家可以嘗試看看,看看內(nèi)存使用錯(cuò)誤的奇妙。

6. 小結(jié)

字符串在 C 語言中的處理與其他語言相比是比較特殊的。在 C 語言中沒有專門的字符串的變量類型。而是通過字符數(shù)組的方式來實(shí)現(xiàn)字符串的功能。這使得字符串具有了數(shù)組的全部特性。但是與其它類型的數(shù)組最大的一點(diǎn)區(qū)別就是存儲(chǔ)字符串的數(shù)組的最后一位是 \0 ,表示的是空,這點(diǎn)可以用來檢測(cè)一個(gè)字符串是不是已經(jīng)到了末尾。