函数返回指针
#include <stdio.h>
int *getRandom( )
{
static int r[10];
int i;
for ( i = 0; i < 5; ++i)
{
r[i] += i;
printf("%d\n", r[i] );
}
return r;
}
int main ()
{
int *p;
int i;
p = getRandom();
for ( i = 0; i < 10; i++ )
{
printf("*(p + [%d]) : %d\n", i, *(p + i) );
}
return 0;
}
将数组输入函数并返回指针
#include <stdio.h>
int buf_a[10]={0x11,0x22,0x33,0x44};
int *getRandom(int *a )
{
static int r[10];
int i;
int *p_a;
p_a=r;
for ( i = 0; i < 10; ++i)
{
*(a+i) += 1;
printf("%x\n",*(a+i) );
}
return a;
}
int main ()
{
int *p;
int i;
p = getRandom(buf_a);
for ( i = 0; i < 10; i++ )
{
printf("*(p + [%d]) : %x\n", i, *(p + i) );
}
return 0;
}