读书人

c++刚入门问一些基础的有关问题

发布时间: 2012-04-05 12:42:40 作者: rapoo

c++刚入门,,问一些基础的问题,,



一。如下两个函数的第一行是否等价:
1. float fun(int a,float b,char *c);
2. float fun(int,float,char *);
答案:color=#FF0000不等价。第二个是错误的说明
我不知道第二个说明为什么错[/color]


二。执行下面程序后,若要将ps所指向的变量的成员buffer所指向的变量的内容加1,使用:
struct mystruct{
int *buffer;
int len;
}ps;
①(++ps)->buffer ②*++ps->buffer ③++*ps->buffer ④ps++->buffer
答案是3,,我的问题:再结构定义中,最后的PS是结构体的数据成员把?为什么是指针类型呢?选三的原因是不是指针先取值再+1?


[解决办法]
如果是声名,是对的
[解决办法]
ps是结构体变量,buffer是指向整型的指针,因此星号应该是表示buffer的
这个前加加 是先取值再加1的
我觉得应该是这样的
[解决办法]
第一个不说,第二个是运算符优先级问题
③++*ps->buffer

->优先级高于*,*高于++
所以执行顺序是:
1.ps->buffer
2. *ps->buffer
3.++*ps->buffer

读书人网 >C++

热点推荐