Objective C中的指针,从函数返回指针

时间:2017-07-19 15:56:50

标签: c arrays pointers

#import <Foundation/Foundation.h>

/* function to generate and return random numbers. */
int * getRandom( )
{
   static int  r[10];
   int i;

   /* set the seed */
   srand( (unsigned)time( NULL ) );
   for ( i = 0; i < 10; ++i)
   {
      r[i] = rand();
      NSLog(@"%d\n", r[i] );
   }
  NSLog(@"checking for r value: %d\n", r );
   return r;
}

/* main function to call above defined function */
int main ()
{
   /* a pointer to an int */
   int *p;
   int i;

   p = getRandom();
   for ( i = 0; i < 10; i++ )
   {
       NSLog(@"*(p + [%d]) : %d\n", i, *(p + i) );
   }`enter code here`

   return 0;
}

我需要对某些内容进行解释,对于objective-c是新的,在运行上面的代码时,(“检查r值:6296000”)成为“NSLog(@”检查r值的输出:%d \ n“,”r)“,r变为6296000,请问626000的含义是否为r的值。

1 个答案:

答案 0 :(得分:0)

您正在打印指针r(整数数组中的第一个指针)。

要打印数组中位置的值,请​​使用r [position]。

6296000是指向数组r的指针地址的基本10版本。