打印
[C语言]

求助帖,请问怎么将字符串数组内容赋值给一个字符串指针

[复制链接]
5792|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yes慢的|  楼主 | 2013-12-5 12:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
nevermore008| | 2013-12-5 12:16 | 只看该作者
char c[100];
char *p = c;
*(p+100) = '\0';
试试肿么样

使用特权

评论回复
板凳
原野之狼| | 2013-12-5 12:25 | 只看该作者
nevermore008 发表于 2013-12-5 12:16
char c[100];
char *p = c;
*(p+100) = '\0';

p+100指到哪里去了呢   总共才100个元素

使用特权

评论回复
地板
原野之狼| | 2013-12-5 12:26 | 只看该作者
楼主你的标题就写的有问题,数组内容怎么赋给指针,类型都不一样。

使用特权

评论回复
5
NE5532| | 2013-12-5 12:46 | 只看该作者
字符串指针只能包含一个地址值,你只能让这个指针指向这个字符串(比如首地址),但是不能把字符串数组的”内容“赋给指针。

使用特权

评论回复
6
nevermore008| | 2013-12-5 16:57 | 只看该作者
原野之狼 发表于 2013-12-5 12:25
p+100指到哪里去了呢   总共才100个元素

字符串最后一个是空字符啊,所以多加一个,字符数组最后一个可不是空字符

使用特权

评论回复
7
ntao0227| | 2013-12-5 17:32 | 只看该作者
踩内存啦!可能会把其他数据改了

使用特权

评论回复
8
香水城主| | 2013-12-5 18:20 | 只看该作者
nevermore008 发表于 2013-12-5 16:57
字符串最后一个是空字符啊,所以多加一个,字符数组最后一个可不是空字符 ...

写过程序吗?

char c[100];    最后一个字符是c[99]不是c[100]!

使用特权

评论回复
9
nevermore008| | 2013-12-6 11:09 | 只看该作者
香水城主 发表于 2013-12-5 18:20
写过程序吗?

char c[100];    最后一个字符是c[99]不是c[100]!

c是字符数组当然是0-99,字符串和字符数组不一样,把字符数组转换成字符串最后不加空字符么

使用特权

评论回复
10
yes慢的|  楼主 | 2013-12-6 16:56 | 只看该作者
原野之狼 发表于 2013-12-5 12:26
楼主你的标题就写的有问题,数组内容怎么赋给指针,类型都不一样。

内型我知道不一样,就是想看一下有没有什么方法可以做到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:世事洞明皆学问,人情练达亦文章

1

主题

37

帖子

0

粉丝