标签:语言 arch image 介绍 overflow 表示 大致 程序 基础
不论什么一个C语言程序都是由一个或者多个程序段(小程序)构成的。每一个程序段都有自己的功能,我们一般称这些程序段为“函数”。
所以。你能够说C语言程序是由函数构成的。
比方你用C语言编写了一个MP3播放器程序。那么它的程序结构例如以下图所看到的:
比方。有个函数的功能是播放MP3。那么播放MP3的代码都应该写到这个函数中。
一般来说。我们会将不同的功能交给不同的函数去实现。比方,将暂停播放MP3的代码写到一个函数中。将停止播放MP3的代码写到还有一个函数中。因此。一个C程序中可能会有非常多的函数。
为了方便调用和区分这些函数,我们须要为每个函数都起一个唯一的名称,函数的命名必须依照标识符命名规则。
利用函数名就能够调用到相应的函数。
定义函数的目的就是为了写清楚你这个函数是干啥用的,里面包括了哪些代码。函数的定义格式例如以下:
1 返回值类型 函数名(形式參数列表) 2 { 3 函数体 4 }
比方定义一个函数用来计算两个整数的和。
那么能够写成以下这样:
1 #include <stdio.h> 2 3 int sum(int a, int b) 4 { 5 int c = a + b; 6 return c; 7 } 8 9 int main() 10 { 11 int d = sum(10, 11); 12 13 printf("d is %d", d); 14 return 0; 15 }
1 int a = 10; 2 int b = 11;
d is 21
1> 形式參数:在定义函数时,函数名后面的小括号()中定义的变量称为形式參数。简称形參
2> 实际參数:在调用函数时传入的值称为实际參数,简称实參
1 int sum(int a, int b, int c) 2 { 3 return a + b + c; 4 } 5 6 int main() 7 { 8 sum(10, 9, 7); 9 return 0; 10 }
第1行中sum函数中有3个形參,因此在第8行调用sum函数时,须要传入3个实參
1 #include <stdio.h> 2 3 int test(char a) 4 { 5 a = 10; 6 7 return 0; 8 } 9 10 int main() 11 { 12 char b = 5; 13 14 test(b); 15 16 printf("b的值是%d", b); 17 18 return 0; 19 }
(事实上在内存中存储的是二进制数据。这里我写成10进制是为了直观性)
b的值是5
因此,在函数内部改动了形參的值,并不会影响到外面的实參。
定义一个函数时是能够没有形參的。比方以下的函数
1 #include <stdio.h> 2 3 int test() 4 { 5 printf("调用了test函数"); 6 return 0; 7 } 8 9 int main() 10 { 11 test(); 12 return 0; 13 }
定义函数时,要指明函数的返回值类型
1 double pi() 2 { 3 return 3.4; 4 } 5 6 int main() 7 { 8 double a = pi(); 9 return 0; 10 }
1 #include <stdio.h> 2 3 void test() 4 { 5 printf("调用了test函数"); 6 return; 7 } 8 9 int main() 10 { 11 test(); 12 return 0; 13 }
所以。上面的test函数能够简化成:
1 void test() 2 { 3 printf("调用了test函数"); 4 }
1 sum(int a, int b) 2 { 3 return a + b; 4 }
能够看到,第1行定义的sum函数没有明白写出返回值类型。那么这个sum函数的返回值类型就是int。因此。第3行return后面尾随的是int类型数据
1 int sum(int a, int b) 2 { 3 return a + b; 4 } 5 6 int main() 7 { 8 int c = sum(5, 8); 9 return 0; 10 }
第3行使用了return语句,将a+b的值返回给了函数调用者,因此第8行变量c的值是13
1 int max(int a, int b) 2 { 3 if (a>b) 4 { 5 return a; 6 } 7 8 return b; 9 }
也就是说,后面的第8行代码就不会被运行
默认情况下。函数的名字必须唯一。以下的写法是错误的:
1 void test(int a) 2 { 3 4 } 5 6 int test() 7 { 8 return 10; 9 }
第1、6行定义的函数的名称都是test,编译器会直接报错
以下的写法是错误的:
1 int main() 2 { 3 void test() 4 { 5 6 } 7 8 return 0; 9 }
在第3行把test函数定义在了main函数内部。这是错误的写法
从第一个C语言程序開始。就认识了这个main函数。main函数是整个C程序的入口,有了main函数,C程序才干执行成功,并且整个C程序中仅仅能有一个main函数。
main函数的简单定义例如以下:
1 int main() 2 { 3 4 return 0; 5 }
它能够没有形式參数,返回值是int类型。它的返回值用于说明程序的退出状态:假设返回0,则代表程序正常退出,否则代表程序异常退出
你可能已经注意到。平时一直在使用的printf事实上也是一个函数,这是系统自带的函数
1 #include <stdio.h> 2 3 int main() 4 { 5 6 printf("我要学习iOS开发"); 7 8 return 0; 9 }
标签:语言 arch image 介绍 overflow 表示 大致 程序 基础
原文地址:http://www.cnblogs.com/claireyuancy/p/6713056.html