菜单开关

周梦康 发表于 2017-09-24 1125 次浏览 标签 : C语言快速入门

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

在C语言中使用一个函数,必须声明它的返回值类型。由于C语言是强类型,所以函数的参数必须带有类型标识的。
下面说下C语言里面定义、声明函数的几种方式。

定义的方式说明
函数定义声明简单粗暴,简单测试使用
函数原型声明适合单一文件,非常小的项目适用
在头文件里函数原型声明如何你学习比较的开源项目,这种是最常见的,方便项目管理

下面都是定义了一个test.c文件

函数定义声明

#include "stdio.h"

void func(int i)
{
    printf("%d\n", i);
}

int main(int argc, char const *argv[])
{
    func(1);
    return 0;
}

函数原型声明

#include "stdio.h"

void func(int i);// 声明

int main(int argc, char const *argv[])
{
    func(1);
    return 0;
}

void func(int i) // 定义
{
    printf("%d\n", i);
}

变型

#include "stdio.h"

- void func(int i); // 声明
+ void func(int); // 没有行参名,只有参数类型也OK

int main(int argc, char const *argv[])
{
    func(1);
    return 0;
}

void func(int i) // 定义
{
    printf("%d\n", i);
}

在头文件里函数原型声明

#include "stdio.h"
#include "test.h"

void func(int);

int main(int argc, char const *argv[])
{
    func(1);
    return 0;
}

void func(int i)
{
    printf("%d\n", i);
}

只是不过把上面的函数原型声明,统一放置到了在同级目录下的 test.h 里面。

void func(int i);

当我们在做项目开发的时候,多使用最后一种方式,解释太多无意,抽象定义,方便管理。

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表