首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-04-05 
c++刚入门,,问一些基础的问题,,一。如下两个函数的第一行是否等价:1. float fun(int a,float b,char *c)2.

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

热点排行