关于C语言字符串数组的问题

[复制链接]
2016|6
 楼主| dontium 发表于 2013-9-13 00:53 | 显示全部楼层 |阅读模式
本帖最后由 dontium 于 2013-9-13 01:03 编辑

有一个字符串组成的数组,如:
static const char *const Pch[] = {
    "string 1 abcd",
    "string 2 abcd ",
    "string 3 abcd ",
    "......... ",
..................
};
(数组中的各列,可以有相同长度,也可以不相同)
在例程中使用它时,使用的方法是:

int  func (char **Pch, int onther)
{
    uint8_t i;
       ..........................
for (i = 1; i < n + 1; i++)
    subfunc (0, 0, Pch[ i ], otherParam);
}


我的问题是,如果不经过func函数,怎么在subfunc()中使用字符串数组Pch呢?----即subfunc()不出现在func()函数中时,怎么使用这个数组。


谢谢各位
 楼主| dontium 发表于 2013-9-13 18:29 | 显示全部楼层
沉这么深啊,自己顶一下。

这种定义字符串的特点,是它的每一列可以有不同长度。使用时,一列一列地用,很方便。在TI的F5529例程中出现过。
小凡的挚爱 发表于 2013-9-13 18:53 | 显示全部楼层
不就pch[0]这样引用么?
 楼主| dontium 发表于 2013-9-17 15:33 | 显示全部楼层
小凡的挚爱 发表于 2013-9-13 18:53
不就pch[0]这样引用么?

那样用不行的,我试了,提示错误为:char** 和char * 不配套
airwill 发表于 2013-9-18 07:25 | 显示全部楼层
pch[0] 是字符串的指针,
那么应该是这个意思 (pch[0])[0],  我想应该这么写了
lzqxs89 发表于 2013-9-21 08:50 来自手机 | 显示全部楼层
楼上正解
 楼主| dontium 发表于 2013-9-24 10:48 | 显示全部楼层
airwill 发表于 2013-9-18 07:25
pch[0] 是字符串的指针,
那么应该是这个意思 (pch[0])[0],  我想应该这么写了

这样用还是有错误提示。
不过,你给出了个思路。最后发现这样用:

(char *)(pch[0])[0]编译通过。

谢谢你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:官向官来民向民,穷人向的是穷人

151

主题

1176

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部