1.C语言是由AT&贝尔实验室的丹尼斯·里奇于1972年发明的,那个时候所实验的电脑主要是PDP-11。
2.C语言在今天还仍然得到广泛使用的原因在于,其易于拓展到新的系统架构、高效性以及更面向于计算机底层。
# gcc -Wall infilename.c -o outfilename.o
# gcc -g -O0 -Wall infilename.c -o outfilename.o
# gdb hello.o
valgrind ./hello.o
int putchar(int),将字符进行标准输出,返回打印出的字符或者EOF错误。
int getchar(),从标准输入获取下一个字符,出现错误返回EOF。
格式化输出规范:%[标记:+或-][宽度][.精度][长度][类型]
int sprintf(char string[], char format[], arg1, arg2),将字符写进字符串数组。
int sscanf(char str[], char format[], arg1, arg2),从字符串数组获取字符。
int getc(FILE* fp),从文件流读取单个字符。
char[] fgets(char line[], int maxlen, FILE* fp),从文件流读取单行字符。
int putc(int c, FILE* fp),向文件流写入单个字符。
int fputs(char line[], FILE* fp),向文件流写入单行字符。
int fscanf(FILE* fp, char format[], arg1, arg2),从文件流读取格式化字符。
定义为计算机能够用于进行数据存储和数据获取的物理资源。
由操作系统所抽象的那部分,能够被代码使用、获取的带地址的内存空间。
Windows操作系统分配了大概2GB的虚拟内存,Linux操作系统大概为3~4GB。
操作系统将虚拟内存映射到物理内存的不同部分上,其可以使用的内存部分常被成为堆栈。
栈——被声明的变量的归宿。
堆——动态内存分配的归宿。
FILE* fopen(const char *filename, const char *mode),以读r、写w、追加a、二值文件追加b的模式打开文件。
FILE∗ freopen(const char∗ filename, const char∗ mode, FILE∗ stream),将标准流(stdin/stdout/stderr)重定向到文件。
int fflush (FILE ∗stream),冲洗任何未写出的数据,如果stream是NULL,就会对所有输出流进行数据冲洗。
int remove(const char ∗filename),从文件系统移除文件,成功返回0,否则返回非零值。
int rename(const char ∗oldname,const char ∗newname),文件重命名(注意文件权限以及文件存在与否)。
FILE∗ tmpfile(void),创建一个临时文件,程序结束后被自动删除。