2010-07-21 60 views
2

我正在使用Objective-C語言。但我不知道如何在Objective-C中使用c。如何使用C語言數組與Objective-C

Ex)這是函數方法。

- (??) function{ 
unsigned int first = .. 
unsigned int second = .. 
unsigned int third = .. 

int infoData = {first,second,third}; 
return infoData; 
} 

如何填寫括號。

我不使用NSArray。

請幫幫我。

回答

3

的嚴格的超假設你聲明int[] infoData你可以做回int*,但你還是會遇到問題,因爲該數組在函數的堆棧上分配。你需要動態分配空間,它就像你會在C.

(不能使用int[]作爲返回類型)

下面的代碼可以編譯,但GCC將警告的地址返回一個函數局部變量。

@interface test 
- (int*) function; 
@end 

@implementation test 

- (int*) function{ 
    unsigned int first = 0; 
    unsigned int second = 1; 
    unsigned int third = 2; 

    int infoData[] = {first,second,third}; 
    return infoData; 
} 

@end 
4

的答案是一樣的,因爲它是在C的Objective-C是C.