C語言中實現字符串數組

C語言中實現字符串數組

C++中實現字符串數組很容易,定義一個string類型的數組就可以了。但在C語言中由於沒有string這個類型實現起來就要麻煩些。以下我提供一種利用指針數組實現的方法,其實質也就是個二維字符數組。
所謂指針數組是指元素均爲指針類型數據的數組,也就是說,指針數組中的每個元素相當於一個指針變量,它的值是地址。一維指針數組的定義形式爲:
類型名 *數組名[數組長度];
例如:
int *p[4];
下面給個實例說明如何創建和使用字符串數組:

#include <stdio.h>

int main()
{
    char *name[6] = {"Rainer","Richie","Crystal","Stef","Sammy"};
    //定義一個指針數組,並將其初始化。這時候name[0]將存儲字符串"Rainer"的
    //第一個字符'R'的地址,依此類推。
    char *p;
    //定義一個指向字符變量的指針變量
    int i;
    name[5] = "Jacky";
    //將數組第六個元素賦值爲"Jacky"
    for(i = 0;i < 6;++i)
    {//輸出數組內容
        p = *(name + i);
        //name + i即爲name[i],*name[i]即爲數組name的第i個元素的值,
        //即爲第i個元素中字符串的首字符的地址
        printf("%s ",p);
       //注意格式字符串中的s
    }
    printf("\n");
    return 0;
}

從以上代碼可以看出,用指針數組實現字符串數組是很簡單的。定義了一個字符指針數組後就像使用普通數組一樣對它進行操作,只是在輸出數組內容的時候注意一下就沒問題了。
發佈了9 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章