搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 为什么c语言可以给字符指针赋值,c++反而不可以?
标题:
为什么c语言可以给字符指针赋值,c++反而不可以?
只看楼主
一日之计在
等 级:
新手上路
帖 子:3
专家分:0
注 册:2015-3-21
楼主
问题点数:0 回复次数:2
为什么c语言可以给字符指针赋值,c++反而不可以?
char *i="hello!\n";
在c语言环境下就可以通过,c++反而通不过了。。。
vc6.0倒是能通过,而code::blocks的c语言环境建立的.c文件也能通过,就是c++环境的.cpp文件里就提示warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
为什么呀?
搜索更多相关主题的帖子:
conversion
warning
hello
c语言
2015-03-21 17:53
yangfrancis
等 级:
贵宾
威 望:
141
帖 子:1510
专家分:7661
注 册:2014-5-19
第
2
楼
得分:0
C++的char型只承认单个字符,并且赋值也规定死了要用单引号。除非是数组,才能接受字符串。数组名在不带下标的情况下也正是字符串中第一个字符的指针。C是怎么样的语法就不太清楚了
2015-03-21 21:51
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
3
楼
得分:0
无论是C,还是C++,正确的写法都是
const
char *i="hello!\n";
但因为C以前没有const关键字,存在着大量的类似 char *i="hello!\n" 代码,所以网开一面,允许char *i="hello!\n"编译通过。
warning 不是 error
2015-03-23 08:30
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-442906-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017942 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved