Objective-C指針數組

在理解指針數組的概念之前,先來看看以下示例,在這個示例中使用3個整數的數組 -

#import <Foundation/Foundation.h>

const int MAX = 3;

int main () {
   int  var[] = {10, 100, 200};
   int i;

   for (i = 0; i < MAX; i++) {
      NSLog(@"Value of var[%d] = %d\n", i, var[i] );
   }
   return 0;
}

執行上面示例代碼,得到以下結果:

2018-11-15 05:57:51.168 main[13412] Value of var[0] = 10
2018-11-15 05:57:51.170 main[13412] Value of var[1] = 100
2018-11-15 05:57:51.170 main[13412] Value of var[2] = 200

如果想要維護一個數組,該數組可以存儲指向intchar或任何其他可用數據類型的指針。 以下是一個指向整數的指針數組的聲明 -

int *ptr[MAX];

這將ptr聲明為MAX整數指針的數組。 因此,ptr中的每個元素現在都包含一個指向int類型值的指針。 下麵的例子使用了三個整數,它們將存儲在一個指針數組中,如下所示 -

#import <Foundation/Foundation.h>

const int MAX = 3;

int main () {
   int  var[] = {10, 100, 200};
   int i, *ptr[MAX];

   for ( i = 0; i < MAX; i++) {
      ptr[i] = &var[i];   /* 分配整數的地址. */
   }
   for ( i = 0; i < MAX; i++) {
      NSLog(@"Value of var[%d] = %d\n", i, *ptr[i] );
   }
   return 0;
}

執行上面示例代碼,得到以下結果 -

2018-11-15 06:00:41.868 main[84495] Value of var[0] = 10
2018-11-15 06:00:41.870 main[84495] Value of var[1] = 100
2018-11-15 06:00:41.870 main[84495] Value of var[2] = 200

還可以使用指向字元的指針數組來存儲字串列表,如下所示 -

#import <Foundation/Foundation.h>

const int MAX = 4;

int main () {
   char *names[] = {"zaixian Su", "Hina Lee", "XNew Luang", "Kaops Ali",};
   int i = 0;
   for ( i = 0; i < MAX; i++) {
      NSLog(@"Value of names[%d] = %s\n", i, names[i] );
   }

   return 0;
}

執行上面示例代碼,得到以下結果:

2018-11-15 06:02:10.526 main[126578] Value of names[0] = zaixian Su
2018-11-15 06:02:10.528 main[126578] Value of names[1] = Hina Lee
2018-11-15 06:02:10.528 main[126578] Value of names[2] = XNew Luang
2018-11-15 06:02:10.528 main[126578] Value of names[3] = Kaops Ali

上一篇: Objective-C指針 下一篇: Objective-C字串