c6----函数的声明和实现

//
//  main.c
//  函数的声明和定义
//
//  Created by xiaomage on 15/6/7.
//  Copyright (c) 2015年 xiaomage. All rights reserved.
//

#include <stdio.h>

以前我们在定义函数的时候, 一直都是把函数定义在main函数的前面,有了函数声明就可以函数定义在main函数之后了

/*
void printRose()
{
    printf(" {@}\n");
    printf("  |\n");
    printf(" \\|/\n");// 在C语言中\有特殊的函数, 它是一个转义字符
    printf("  |\n");
}
 */
// 函数的声明的作用: 在调用函数之前, 告诉系统有这个函数并且告诉系统, 该函数叫什么名字, 接收什么参数, 返回什么类型的值
void printRose();//就可以函数定义在main函数之后了,声明要写在函数调用的前面,定义可以在函数使用的后面,函数声明就是把函数定义的大括号前面的抠出来。
int sum(int v1, int v2);

// 声明的其它写法,可以不写形参名称,定义不可以重复,声明是可以重复的。

int sum(int, int);
int sum(int, int);
int sum(int, int);
int sum(int, int);
int sum(int, int);
int sum(int, int);
int sum(int, int);

int main(int argc, const char * argv[]) {
    printRose();

//    函数的声明, 只需要在函数被使用之前告知系统就可以了, 它可以写在函数的外面也可以写在函数的里面
    int sum(int, int);
    int result = sum(10, 20);
    printf("result = %i\n", result);

    return 0;
}
// 完整的实现了函数的功能的代码, 称之为函数的定义(函数的实现)
void printRose()
{
    printf(" {@}\n");
    printf("  |\n");
    printf(" \\|/\n");// 在C语言中\有特殊的函数, 它是一个转义字符
    printf("  |\n");
}
// 注意: 如果函数的返回值是int类型, 那么不用写声明, 函数也不会报错

int sum(int v1, int v2)
{
    return v1 + v2;
}

/*
 C语言中是不允许重复定义(实现)同名称的函数
int sum(int v1, int v2)
{
    return v1 + v2;
}
*/
时间: 2024-08-10 02:03:21

c6----函数的声明和实现的相关文章

函数:声明和表达式

函数:声明和表达式 函数,像变量一样,可以在代码的任意地方定义它. JS 提供了几个方法去定义它们. 1.函数声明     (Function Declaration) 2.函数表达式  (Function Expression) 3.通过调用new Function 返回. 语法 创建一个函数的基本方法是通过一个函数声明.语法如下: function f(arg1, arg2, ...) {    ... code ... } 实现起来像这样子: 1 function sayHi(name)

C语言,函数的声明与定义

函数声明与定义 变量: 在讲变量前,先讲一下变量的声明和定义这两个概念. 声明一个变量,意味着向编译器描述变量的类型,但不为变量分配存储空间. 定义一个变量,意味着在声明变量的同时还要为变量分配存储空间,在定义变量的同时为变量初始化. 局部变量:通常只定义不声明. 全局变量:通常在源文件中定义,在头文件中声明. 在一个函数内部定义的变量成为局部变量,它在本函数内有效. 函数中的局部变量,如果不定义类型,其缺省是自动变量auto, 例如:int a,b=2; 其等价于auto int a,b =

求最大值和scanf函数的使用以及函数的声明

/* ============================================================================ Name : MaxNumber.c Author : lf Version : Copyright : Your copyright notice Description : 求最大值和scanf函数的使用以及函数的声明 ==========================================================

C++模板编程:如何使非通用的模板函数实现声明和定义分离

我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性.但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了.然而,当我们又需要针对特定类型进行模版偏特化时,由于gcc编译器不允许直接在类中进行偏特化声明,所以正确的写法变得比较复杂.本文通过一个简单的求log2函数的例子,提供了一个在cpp中同时进行偏特化和实例化的一般写法,并且可以使用static_assert在编译期检查参数的实现. 现在假设我们有一个叫做"Ma

C语言函数的声明

#include <stdio.h> //函数声明 //声明方法一 //int sum(int v1, int v2); //函数声明是可以重复定义 //只有函数的声明,没有函数的实现在编译的时候是没有问题的 //编译器只会检查语法错误,链接的时候才会去查看函数是否真的实现了 //声明方法二 int sum(int, int); int sum(int, int); int sum(int, int); int sum(int, int); int main() { printf("

函数的声明与定义

1.简介 函数定义:用于确定函数功能,一个完整的函数定义包括函数名称,形参类型,函数体等. 函数声明:C语言编译系统是由上往下编译的,如果被调函数A放在主调函数B后面,则需要声明函数A,否则编译系统无法识别函数. 注:函数声明一般写在主调函数前. 2.方法 函数定义: 返回类型+函数名称(参数类型1 参数1,参数类型 2 参数2,....){ 函数体; } 函数声明: 返回类型+函数名称(参数类型1 参数1,参数类型2 参数2); 返回类型+函数名称(参数类型1,参数类型2,....); 3.实

JavaScript进阶系列01,函数的声明,函数参数,函数闭包

本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调用我"); } 通过这种方式声明的函数属于Window对象,可以在任何地方调用,即在doSth方法的之前和之后都可以调用. 可以在doSth方法之前调用: doSth(); function doSth() { alert("可以在任何时候调用我"); } 可以在doSth方法之

在虚函数的声明的参数列表后加上“=0”就将函数变成了纯虚函数

在虚函数的声明的参数列表后加上“=0”就将函数变成了纯虚函数class Base{ virtual void function()=0;}我们不需要为纯虚函数Base::function()提供任何定义,那些声明了纯虚函数的类就是抽象类.任何试图创建一个抽象类对象的操作都会导致编译器错误.如果一个派生Base并且重写了Base::function()函数,它就成为了具体的类.class Derived :public Basae { void function(); } 通常将抽象类用作接口声明

模板类和模板函数的声明和定义分开文件写的方法

据说模板类和模板函数的声明和定义要写在同一个文件. 不然编译会出现"未定义的引用". 其实是有解决方法的. 模板类 template class CNNConvLayer<double>; 就是 template class className<typeName>; 模板函数 template void poolBackPropForKernal<double>(double*, double*, int, int, double*, double*

在函数体内声明[1] char *str=”abc”;和[2] char str[]={‘a’,’b’,’c’}有什么区别?

在函数体内声明[1] char *str="abc";和[2] char str[]={'a','b','c'}有什么区别 1.   [1][2]中str变量都分配在栈上:备注:([1]是字符指针,准确的说类似于字符串数组的功能 ,等价于 char str[]="abc", [2]是字符数组) sizeof()和strlen()计算的时候不一样 2.    [1]中str指向常量存储区的字符串"abc",其中字符串末尾会补0 3.    [2]中