菜单开关

周梦康 发表于 2020-11-23 377 次浏览 标签 : 《Linux C 入门笔录》

hello, world

下面这段代码摘录自《C程序设计语言》

#include <stdio.h>

main()
{
    printf("hello, world\n");
}

虽然大家对这段代码再熟悉不过了,但是我觉得我们还是一起重新认识下这段代码
管中窥豹 - 一切从 hello world 谈起

放到现在来看这个函数是不标准的,函数没有定义返回值类型,所以在vim里面左侧显示了一个x

头文件

我们发现我们在最开始使用了#include <stdio.h>,这是因为我们在使用的printf函数是在stdio.h里面定义的。我们可以通过

man 3 printf

来查阅

PRINTF(3)                  Linux Programmer's Manual                 PRINTF(3)

NAME
       printf,   fprintf,  sprintf,  snprintf,  vprintf,  vfprintf,  vsprintf,
       vsnprintf - formatted output conversion

SYNOPSIS
       #include <stdio.h>

       int printf(const char *format, ...);
       int fprintf(FILE *stream, const char *format, ...);
       int sprintf(char *str, const char *format, ...);
       int snprintf(char *str, size_t size, const char *format, ...);

如上所示,也就是说在使用这四个打印函数的时候都需要包含<stdio.h>

  1. #include <xxx.h> 系统头文件
  2. #include "xxx.h" 自定义头文件

学好使用 man 命令

顺便说下为什么是man 3,因为man查看手册的时候是分章节的,章节列表

章节编号章节名称章节主要内容
1General Commands用户在shell中可以操作的指令或者可执行文档
2System Calls系统调用的函数与工具等
3SunroutinesC语言库函数
4Special Files设备或者特殊文件
5File Formats文件格式与规则
6Games游戏及其他
7Macros and Conventions表示宏、包及其他杂项
8Maintenence Commands表示系统管理员相关的命令

如果我输入的是

man printf

出来的结果和man 1 printf一样,查的是 shell 命令里面的printf

PRINTF(1)                        User Commands                       PRINTF(1)

NAME
       printf - format and print data

SYNOPSIS
       printf FORMAT [ARGUMENT]...
       printf OPTION
... 

man 是按照手册的章节号的顺序进行搜索的,所以我们在查C语言库函数的时候,记得使用man 3 xxx

main 函数

main 函数是整个程序的入口,编译一个项目,main 函数有且仅有有一个。

评论列表