none
指针的指针,困惑的问题. RRS feed

  • 问题

  • ClCserver ** Edit;

    Edit = new ClCserver*[5];

    第一句,CICserver是一个类, Edit是CICserver指针的指针,为什么要这样做? 第二条语句,new ClCserver*[5],为什么要在这里加*,这样一来,会怎么样呢?是不是导致Edit[0],Edit[1],Edit[2]........等等,这些都是CICserver *Edit[0]这样吗?我有点不解,希望各位朋友帮助,谢谢你们.

     

    这两句我不太清楚,请给我个详细的解释,请各位朋友帮助我,谢谢你们.

    2011年11月8日 7:44

答案

  • Edit = new ClCserver*[5];

    这句的意思是创建一个创建一个指针数据。那么Edit就是这个指针数组啦。数组中的每一个元素都是一个ClCserver指针。


    麻烦把正确答案设为解答。
    • 已建议为答案 王译 2011年11月10日 0:50
    • 取消建议作为答案 王译 2011年11月10日 1:01
    • 已建议为答案 王译 2011年11月11日 0:15
    • 已标记为答案 lucy-liuModerator 2011年11月17日 6:30
    2011年11月8日 9:53
    版主
  • 好吧,

    ClCserver ** Edit;

    第二一个*代表了那个指向[5]的数组。

    而第一个*代表了数组中每个元素是一个ClCserver *指针。

    所以

    ClCserver ** Edit;可理解成(ClCserver *)* Edit;


    麻烦把正确答案设为解答。
    2011年11月10日 3:13
    版主

全部回复

  • Edit = new ClCserver*[5];

    这句的意思是创建一个创建一个指针数据。那么Edit就是这个指针数组啦。数组中的每一个元素都是一个ClCserver指针。


    麻烦把正确答案设为解答。
    • 已建议为答案 王译 2011年11月10日 0:50
    • 取消建议作为答案 王译 2011年11月10日 1:01
    • 已建议为答案 王译 2011年11月11日 0:15
    • 已标记为答案 lucy-liuModerator 2011年11月17日 6:30
    2011年11月8日 9:53
    版主
  • Edit = new ClCserver*[5];

    这句的意思是创建一个创建一个指针数据。那么Edit就是这个指针数组啦。数组中的每一个元素都是一个ClCserver指针。


    麻烦把正确答案设为解答。

    指针数组需要用指针的指针来指向吗?数组不是用指针就可以指向了吗,指针数组有什么特殊性吗?

    求指教。

    2011年11月10日 1:07
  • 好吧,

    ClCserver ** Edit;

    第二一个*代表了那个指向[5]的数组。

    而第一个*代表了数组中每个元素是一个ClCserver *指针。

    所以

    ClCserver ** Edit;可理解成(ClCserver *)* Edit;


    麻烦把正确答案设为解答。
    2011年11月10日 3:13
    版主
  • 好吧,

    ClCserver ** Edit;

    第二一个*代表了那个指向[5]的数组。

    而第一个*代表了数组中每个元素是一个ClCserver *指针。

    所以

    ClCserver ** Edit;可理解成(ClCserver *)* Edit;


    麻烦把正确答案设为解答。

    谢谢,SplendourG。

    我是不是可以理解为  ClCserver  *Edit[5];

    使用时是不是这样

    ClCserver  myEdit;

    Edit[1] = &myEdit;

     

    2011年11月10日 5:49
  • 是的,不过你这个用法有点危险,

    ClCserver  myEdit;是局部变量。他的指针在出作用域后可能就被释放了。而Edit中的是野指针了。


    麻烦把正确答案设为解答。
    2011年11月10日 7:33
    版主
  • 谢谢,SplendourG。
    2011年11月11日 0:15