首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C指针混淆-指向字符数组的指针

C指针混淆-指向字符数组的指针
EN

Stack Overflow用户
提问于 2012-02-11 01:52:56
回答 4查看 1.9K关注 0票数 1

这应该很简单,但是指向char数组的指针有时仍然让我摸不着头脑。gcc抱怨第四行和第五行“下标的值既不是数组也不是指针”,以及第八行和第十一行“一元*的无效类型参数”,有谁能解释一下这里出了什么问题吗?我更改了第4行和第5行,首先使用括号取消了对指针的引用,但仍然无法获得我想要的结果。

这应该是一个非常简单的函数:

代码语言:javascript
运行
复制
1  void makesafestr ( const char *unsafe,  const char *safe )
2  {
3    int offset=0;
4    for (; (*safe)[offset] != "\0" ; offset++) {
5      switch ((*unsafe)[offset]) {
6        case "\n":
7        case "\r":
8          *safe[offset] = "~";
9          break;
10       default:
11         *safe[offset] = *unsafe[offset];
12     }
13     offset++;
14   }
}
EN

Stack Overflow用户

发布于 2012-02-11 01:55:01

你不需要在safeunsafe前面加星号。它们已经是指针了。此外,您必须使用单引号而不是双引号。单引号用于字符,双引号用于字符串。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9232407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档