第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(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 語言中的運算符 13 C 語言中的算數(shù)運算符 14 C 語言中的位運算符 15 C 語言中的邏輯運算符 16 C 語言中的三目運算符 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)實戰(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 這個關(guān)鍵字來聲明其類型。但是在 C 語言中是沒有這個變量類型的。

1. 字符串

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

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

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

2. 字符串的聲明

因為字符串是由字符串?dāng)?shù)組存儲的,所以字符串的聲明就是聲明了一個字符串?dāng)?shù)組。方式如下:

char str[6];

3. 字符串的初始化

字符串的初始化可以直接使用雙引號的方式,也可以遵循數(shù)組初始化的方式,但是,有一點特別。就是在使用單個字符逐個賦值的時候,最后一個元素一定是 \0 ,而且最需要注意的是,數(shù)組的容量一定要比你實際存儲的字符的數(shù)量多一,因為你要用最后一位來存儲 \0

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

4. 字符串的使用

字符串的使用中,可以通過雙引號包圍字符的方式直接給它賦值,但是請注意這個時候你可能不知道數(shù)組的大小,可能會造成數(shù)組的溢出錯誤,也就是你的賦值超出了數(shù)組可以存儲的最大的字符的數(shù)量。因為字符串本身是通過字符數(shù)組來實現(xiàn)的,因此,數(shù)組的使用方式在這里是可以使用的。比如你可以訪問字符串中的某一個字符,或者更改其中的某一個字符,只要通過其索引位置就可以了, 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;
}

運行結(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

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

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

6. 小結(jié)

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