黑马程序员技术交流社区

标题: 数组赋值问题 [打印本页]

作者: zll464928406    时间: 2015-12-29 09:19
标题: 数组赋值问题
  1. #import <Foundation/Foundation.h>
  2. @interface Paixu:NSObject
  3. {
  4.         @public
  5.         int _ch[5];
  6. }
  7. -(void)sheng;
  8. -(void)jiang;
  9. @end

  10. @implementation Paixu
  11. -(void)sheng{
  12.         for (int i=0; i<4; i++) {
  13.                 for (int j=0; j<4-i; j++) {
  14.                         if (_ch[j]>_ch[j+1]) {
  15.                                 int temp=0;
  16.                                 temp=_ch[j];
  17.                                 _ch[j]=_ch[j+1];
  18.                                 _ch[j+1]=temp;
  19.                         }
  20.                 }
  21.                
  22.         }
  23.         for (int i=0; i<5; i++) {
  24.                 NSLog(@"%d",_ch[i]);
  25.         }
  26. }
  27. -(void)jiang{

  28. }
  29. @end

  30. int main(int argc, const char * argv[]) {
  31.         @autoreleasepool {
  32.                 Paixu *p = [Paixu new];
  33.                 p->_ch[0]=1;
  34.                 p->_ch[1]=3;
  35.                 p->_ch[2]=4;
  36.                 p->_ch[3]=5;
  37.                 p->_ch[4]=2;
  38.                 [p sheng];
  39.         }
  40.     return 0;
  41. }
复制代码

本人新手,为什么main函数中P的数组不能像C一样初始化呢,就像这样p->_ch={1,2,3,4,5},这样写的话就报错,原因在哪呢,求大神解答
作者: 一步步往上爬    时间: 2016-1-5 11:56
没有啥原因,因为数组不能一下子全部初始化,只能一个个的赋值,这是数组赋值的规定,全部初始化是错误的,就没有这个方法
作者: zll464928406    时间: 2016-1-6 10:48
一步步往上爬 发表于 2016-1-5 11:56
没有啥原因,因为数组不能一下子全部初始化,只能一个个的赋值,这是数组赋值的规定,全部初始化是错误的, ...

好吧,谢谢了
作者: zzt244    时间: 2016-1-7 10:59
学习了........




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2