Tesla.Angela 发表于 2016-11-30 20:19:25

C语言里“字符串数组”的一种好记的表达方式

C里没有字符串类型,字符串都是CHAR或WCHAR数组,如果是字符串数组就是CHAR或WCHAR的二维数组了,二维数组对于脑子不好使的人来说,有点麻烦。
其实对于有固定最大长度的字符串,可以用结构体数组来表示,这样子二维数组又变成一维数组了。例子:
typedef struct _STRING
{
    CHAR buffer;
}STRING, *PSTRING;比如要定义一个有100个成员的字符串数组就直接写:STRING array;
//某个index的字符串就是:array.buffer要这样子就好理解多了。希望这帖子给纠结C语言字符串数组的小朋友一点帮助。

Tesla.Angela 发表于 2019-11-30 06:04:42

其实直接使用【二维字符数组】表示【字符串数组】也非常简单。例子如下:void test()
{
#define STRINGS_MAX_COUNT 6 //字符串的最大个数
#define STRING_MAX_LENGTH 4 //每个字符串可以容纳的最大字符个数
        char strings={"aaa","bbb","ccc","ddd","eee","fff"};
        for(int i=0;i<STRINGS_MAX_COUNT;i++){puts(strings);}
        system("pause");
}
页: [1]
查看完整版本: C语言里“字符串数组”的一种好记的表达方式