在理解指针数组的概念之前,先来看看以下示例,在这个示例中使用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
如果想要维护一个数组,该数组可以存储指向int
或char
或任何其他可用数据类型的指针。 以下是一个指向整数的指针数组的声明 -
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字符串