C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。
无符号的 long 型指针给函数,并在函数内改变这个值
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <time.h> //这里需要加一个 time.h 的库
void getSeconds(unsigned long *ptr);
int main(int argc, char *argv[]) {
unsigned long sec;
getSeconds(&sec);
printf(" Number of seconds: %ld\n",sec);
// 输出实际值
return 0;
}
void getSeconds(unsigned long *ptr)
{
*ptr = time(NULL); // 获取当前的秒数
return;
}
// 输出结果
//Number of seconds: 1641448101
函数返回指针
返回指针必须先声明 一个返回指针的函数
C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量
实例 生成10个随机数 然后把10随机数返回到数组
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <time.h> //这里需要加一个 time.h 的库
int *getRandom() //定义一个随机数 getRandom 随机
{
static int a[10];
int i;
//设置种子
srand((unsigned)time(NULL));
for (i=0;i<10;i++){
a[i]=rand();
printf("%d\n",a[i]);
}
return a;
}
int main(int argc, char *argv[]) {
int *ptr;
int i;
ptr=getRandom();
for(i=0;i<10;i++)
{
printf("(*ptr+[%d]): %d\n",i,*(ptr+i));
}
return 0;
}
打印