上一页 下一个

C编程的基础知识

功能

大多数语言允许您创建某种功能。功能让你砍了一个长节目为命名部分,部分可以在整个项目中重用。函数接受参数返回一个结果。C函数可以接受任意数量的参数。一般来说,C不在乎什么顺序你把你的功能在程序中,只要知道函数名调用编译器之前。

我们已经谈到过一些功能。的兰德函数前面看到的是简单的一个函数。它不接受参数并返回一个整数的结果:

广告

int rand () / * k和r -产生0到32767之间的一个随机数。* / {rand_seed = rand_seed * 1103515245 + 12345;返回(unsigned int) (rand_seed / 65536) % 32768;}

int rand ()行声明了函数兰德其余的程序和规定,兰德将不接受参数并返回一个整数的结果。这个函数没有局部变量,但如果它需要当地人,他们会在开幕{任何后(C允许您声明变量{——他们存在直到程序达到匹配}然后消失。一个函数的局部变量因此消失一旦匹配}达到的功能。当他们存在,局部变量在堆栈系统)。注意,没有;()在第一行。如果你不小心把一个放进去,你会得到一个巨大的瀑布从编译器错误消息,毫无意义。还要注意,即使没有参数,你必须使用()。他们告诉编译器,你声明一个函数而不是简单地声明一个int。

返回声明任何函数,返回一个结果是很重要的。它指定了值函数将返回并立即退出函数。这意味着您可以将多个函数中的返回语句给它多个出口点。如果你不把一个函数返回语句,函数返回当它到达}并返回一个随机值(许多编译器会提醒你如果你不返回一个特定的值)。在C语言中,函数可以返回值的类型:int,浮动,char、结构体等。

有几个正确的方法调用兰德函数。例如:x = rand ();。的变量x被分配在这个声明中兰德所返回的值。请注意,您必须使用()在函数调用,即使没有参数传递。否则,x兰德函数的内存地址,通常是你所不允许的。

你也可以叫兰德:

如果(rand () > 100)

或:

rand ();

在后一种情况下,函数被调用,但兰德所返回的值就会被丢弃。与兰德你可能再也不想这样做,但是很多函数返回的错误代码通过函数名,如果你不关心错误代码(例如,因为你知道,一个错误是不可能的),你可以以这种方式丢弃它。

函数可以使用如果你什么都不打算返回void返回类型。例如:

空白print_header () {printf(1号”计划\ n”);printf(“马歇尔大脑\ n”);printf(" 12/26/91发布1.0版本\ n ");}

这个函数不返回任何值。你可以叫它用下面的语句:

print_header ();

你必须包括()在调用。如果你不这样做,函数是不叫的,即使它将在许多系统正确编译。

C函数可以接受任何类型的参数。例如:

int事实(int i) {int j, k;j = 1;(k = 2;k < =我;k + +) j = * k;返回j;}

返回的阶乘,这是作为一个整数参数传递。单独的多个参数用逗号:

int (int, int j){添加返回我+ j;}

C已经发展多年来。你有时会看到等功能添加写在“旧式”,如下所示:18新利最新登入

int添加(i, j) int我;int j;{返回我+ j;}

重要的是能读懂代码写在旧风格。没有区别的方式执行;它只是一个不同的符号。您应该使用(称为“新风格”ANSI C)声明为类型参数列表的一部分,除非你知道你将发货人的代码访问只有一个“旧式”(non-ANSI)编译器。

特色
Baidu