鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 小黄练编程

[已解决]怎么用指针指向函数运用于函数参数中。

[复制链接]
发表于 2021-12-13 18:28:37 | 显示全部楼层
傻眼貓咪 发表于 2021-12-13 18:17
其实主函数的参数也是可以打印的:打印结果:我不是很懂什么是 a.out,欢迎大家研究研究

argv[0] 是执行程序时候的名字,用哪个名字运行的这个程序,argv[0] 就是那个名字
如果用gcc编译器编译代码的时候没有指定名字,默认就是a.out

  1. $ ls
  2. main.c
  3. $ cat main.c
  4. #include <stdio.h>

  5. int main(int argc, char **argv)
  6. {
  7.     printf("这是 int argc: %d\n", argc);

  8.     printf("这是 char **argv: ");
  9.     for(int i = 0; argv[i]; i++){
  10.         printf("%s\n", argv[i]);
  11.     }

  12.     return 0;
  13. }
  14. $ gcc -g -Wall -o main main.c
  15. $ ls
  16. main  main.c
  17. $ ./main
  18. 这是 int argc: 1
  19. 这是 char **argv: ./main
  20. $ mv main a.out
  21. $ ls
  22. a.out  main.c
  23. $ ./a.out
  24. 这是 int argc: 1
  25. 这是 char **argv: ./a.out
  26. $ ln -s a.out abcd
  27. $ ls
  28. abcd  a.out  main.c
  29. $ ./abcd
  30. 这是 int argc: 1
  31. 这是 char **argv: ./abcd
  32. $ ls
  33. abcd  a.out  main.c
  34. $ rm abcd a.out
  35. $ ls
  36. main.c
  37. $ gcc -g -Wall main.c
  38. $ ls
  39. a.out  main.c
  40. $ ./a.out
  41. 这是 int argc: 1
  42. 这是 char **argv: ./a.out
  43. $
复制代码


你上面贴的那个图片中的软件叫什么名字呀?
看起来挺不错,可以比较两个代码的不同?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-13 18:35:50 | 显示全部楼层
傻眼貓咪 发表于 2021-12-13 17:58
在 C++ 中,没有区别,两者都是相同的。

这两个定义也适用于 C,但第二个带有 void 的定义在技术上 ...

我找到了,^_^
https://www.geeksforgeeks.org/difference-int-main-int-mainvoid/
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-13 18:36:51 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-13 18:38:19 | 显示全部楼层
人造人 发表于 2021-12-13 17:52
c99标准只有这两种
这个和第2种一样

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-13 18:39:10 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-13 19:14:41 | 显示全部楼层
人造人 发表于 2021-12-13 18:35
我找到了,^_^
https://www.geeksforgeeks.org/difference-int-main-int-mainvoid/

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-13 19:15:31 | 显示全部楼层
人造人 发表于 2021-12-13 18:28
argv[0] 是执行程序时候的名字,用哪个名字运行的这个程序,argv[0] 就是那个名字
如果用gcc编译器编译 ...

笔记中
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 10:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表