1.iOS开发系列--C语言之基础知识
2015-12-04 13:50
369 查看
#include <stdio.h> int main(int argc, const char * argv[]) { // insert code here... printf("Hello, World!\n"); return 0; }
在上面的程序中我们需要解释几点:
1.main函数是程序入口,一个程序只能有一个main()函数,需要有一个整型返回值(事实上返回值int可以省略,但是这并不代表无返回值,而是默认为int;我们也可以在main()函数中不提供return,这是因为c语言语法要求不够严格); 2.include是预处理指令,用于包含指定文件(注意在编译前即处理),它实际做的工作就是把对应文件复制到指定的位置; 包含的内容可以是任何类型的文件,而不仅仅是.h文件;
#include <stdio.h> void test(){ printf("Hello World!\n"); } int main(int argc, const char * argv[]) { // insert code here... test(); return 0; }
3.上面的test()函数必须写在main()函数上面,如果写在下面则必须在main()函数之前声明;
注意:#include 包含文件时有两种方式:使用<>和””。区别就是<>包含只会查找编译器库函数文件,因此适用于包含库函数;而“”包含则首先查找程序当前目录,如果没有找到则查找库函数路径,因此适用于自定义文件;
C语言的运行分为两大步:编译和链接1.编译:编译阶段会将对应的xxx.c源文件(ASCII格式)编译成目标文件xxx.obj,它是二进制格式(当然一般我们会有多个.c文件,也就会生成多个对应的.obj);在编译之前要进行预处理(例如#include指令),在编译的同时还要进行语法检查;生成的.obj文件并不能单独执行,因为各个.obj之间是有关联的,而且他们还各自引用了C语言库函数; 2.链接:链接的过程就是将各个.obj文件和C语言库函数一起组合生成一个可执行文件的过程;
扩展
在大型项目开发中程序中所有的代码都写到一个文件中是不现实的,我们通常将一个子操作分为两个文件:.c文件和.h文件。在.c文件中实现对应的函数,在.h中进行函数声明,这样只要在主函数上方包含对应的头文件就可以将子操作分离出来而且不用考虑顺序问题。例如改写“Hello World”的例子(注意message对应的.c和.h文件名完全可以不相同,但是出于规范的目的我们还是取相同的文件名.!
相关文章推荐
- 深入理解C First
- N皇后——回溯法、遗传算法、CSP最小冲突法(提供伪代码和C++源代码)
- C/C++中时间处理函数
- 论如何写出高效优美的C语言代码
- 【C语言】 动态开辟二维数组
- 【C/C++学院】0829-位容器multimapmutisetString/算法函数兰不达表达式以及类重载/GPU编程
- C注释 转换为 C++注释
- 值得推荐的C/C++框架和库 (真的很强大)
- C++链接MySQL数据库查询操作
- C++读取指定文件内容
- 利用c语言scanf返回值来控制非数字值时循环结束
- 利用c语言scanf返回值来控制非数字值时循环结束
- 利用c语言scanf返回值来控制非数字值时循环结束
- 利用c语言scanf返回值来控制非数字值时循环结束
- 利用c语言scanf返回值来控制非数字值时循环结束
- C++ std::vector介绍
- C语言百科一些成熟软件中常用的宏定义
- wireshark二次开发
- 《C语言入门经典》Ivor Horton
- 如何用纯C语言编写IOS应用---逼格满满