24小时热门版块排行榜    

查看: 1160  |  回复: 17

shouhangwn

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
其实对于浮点数来说,加不加f没多大关系,如果要是double型的话就得区别开来
不要说,因为没关系,那就算了吧
11楼2012-02-21 12:55:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shouhangwn

铜虫 (小有名气)

引用回帖:
9楼: Originally posted by sudo at 2012-01-04 17:16:37:
只要不进行“写操作”就是安全而且合乎标准的,字符串常量放在程序的只读数据段中

当然了,更严谨的写法是
const char *bookName, *publisher;

这样说明了,指针本身的值可以改,但是指向的数据不可以改~

指针的值可以改变,可是初始化也得申请空间吧?是不是
不要说,因为没关系,那就算了吧
12楼2012-02-21 12:57:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haoaimm2010

新虫 (初入文坛)

研究研究一下
大家一起学习吧
13楼2012-02-21 16:13:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

引用回帖:
12楼: Originally posted by shouhangwn at 2012-02-21 12:57:16:
指针的值可以改变,可是初始化也得申请空间吧?是不是

不知道你所说的初始化是指谁的初始化?

只读段本来就是在程序中占有空间的,只不过那个段“只读”罢了~

PS:如果你用的是gcc编译的话(没试过cl+link不知道VC的编译器是否有类似的功能),还可以用编译脚本强行把只读段弄成非只读属性=.=稍微扯远了

再PS,一个好玩的例子:
CODE:
#include
#include

int main(){
        const char *p = "abc";
        const char *q = "abc";

        printf("p=%p, q=%p\n", p, q);

        return 0;
}

可能有助于说明只读段的一些问题
14楼2012-02-21 23:34:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shouhangwn

铜虫 (小有名气)

引用回帖:
14楼: Originally posted by sudo at 2012-02-21 23:34:37:
不知道你所说的初始化是指谁的初始化?

只读段本来就是在程序中占有空间的,只不过那个段“只读”罢了~

PS:如果你用的是gcc编译的话(没试过cl+link不知道VC的编译器是否有类似的功能),还可以用编译脚本 ...

谢谢,也许我的意思是对于一个结构体中一指针元素的初始化吧,初学者,勿见怪
不要说,因为没关系,那就算了吧
15楼2012-02-22 08:38:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wsj3000

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
可以的,这个是类型兼容问题。
对于常量来说,类型检查没有变量严格的,因为常量只是在编译过程中存在的,不占用运行时的内存空间的。
----------------------------
在这段代码中,f:flow lf:double 什么都不加代表让编译器自动判断。编译器会认为和所赋值的变量类型相同,如果超过变量类型的范围,gcc会报警。。。
---------------------------
16楼2012-02-23 09:53:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

w289468802

新虫 (初入文坛)

不用f也行,因为已经·float声明过了
17楼2012-03-18 10:57:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
18楼2012-04-17 18:34:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 FWei灵 的主题更新
信息提示
请填处理意见