C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。
    无符号的 long 型指针给函数,并在函数内改变这个值

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <stdarg.h>
    4. #include <time.h> //这里需要加一个 time.h 的库
    5. void getSeconds(unsigned long *ptr);
    6. int main(int argc, char *argv[]) {
    7. unsigned long sec;
    8. getSeconds(&sec);
    9. printf(" Number of seconds: %ld\n",sec);
    10. // 输出实际值
    11. return 0;
    12. }
    13. void getSeconds(unsigned long *ptr)
    14. {
    15. *ptr = time(NULL); // 获取当前的秒数
    16. return;
    17. }
    18. // 输出结果
    19. //Number of seconds: 1641448101

    函数返回指针
    返回指针必须先声明 一个返回指针的函数
    C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量
    实例 生成10个随机数 然后把10随机数返回到数组

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <stdarg.h>
    4. #include <time.h> //这里需要加一个 time.h 的库
    5. int *getRandom() //定义一个随机数 getRandom 随机
    6. {
    7. static int a[10];
    8. int i;
    9. //设置种子
    10. srand((unsigned)time(NULL));
    11. for (i=0;i<10;i++){
    12. a[i]=rand();
    13. printf("%d\n",a[i]);
    14. }
    15. return a;
    16. }
    17. int main(int argc, char *argv[]) {
    18. int *ptr;
    19. int i;
    20. ptr=getRandom();
    21. for(i=0;i<10;i++)
    22. {
    23. printf("(*ptr+[%d]): %d\n",i,*(ptr+i));
    24. }
    25. return 0;
    26. }

    打印
    image.png