iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言函数的溯源是什么
  • 631
分享到

C语言函数的溯源是什么

2023-06-30 04:06:13 631人浏览 薄情痞子
摘要

这篇文章主要介绍了C语言函数的溯源是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言函数的溯源是什么文章都会有所收获,下面我们一起来看看吧。一、函数的由来二、模块化程序设计三、C 语言中的模块化四、面向

这篇文章主要介绍了C语言函数的溯源是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言函数的溯源是什么文章都会有所收获,下面我们一起来看看吧。

一、函数的由来

C语言函数的溯源是什么

二、模块化程序设计

C语言函数的溯源是什么

三、C 语言中的模块化

C语言函数的溯源是什么

四、面向过程的程序设计

  • 面向过程是一种以过程为中心的编程思想

  • 首先将复杂的问题分解为一个个容易解决的问题

  • 分解过后的问题可以按照步骤一步步完成

  • 函数是面向过程在 C 语言中的体现

  • 解决问题的每个步骤可以用函数来实现

五、声名和定义

  • 声明的意义在于告诉编译器程序单元的存在

  • 定义则明确指示程序单元的意义

  • C 语言中通过 extern 进行程序单元的声明

  • 一些程序单元在声明时可以省略 extern

        严格意义上的声明和定义并不相同!

        下面看一个例子:

        test.c:

#include <stdio.h>#include <malloc.h> extern int g_var;    //声明extern struct Test;    //声明 int main(){    extern void f(int i, int j);    //声明    extern int g(int x);    //声明        struct Test* p = NULL; // (struct Test*)malloc(sizeof(struct Test));        printf("p = %p\n", p);        //g_var = 10;        printf("g_var = %d\n", g_var);        f(1, 2);        printf("g(3) = %d\n", g(3));        free(p);        return 0;}

        global.c:

#include <stdio.h> int g_var = 10; struct Test{    int x;    int y;}; void f(int i, int j){    printf("i + j = %d\n", i + j);} int g(int x){    return (int)(2 * x + g_var);}

         输出结果如下:

C语言函数的溯源是什么

        怎么证明声明和定义不同呢?我们对 test.c 修改成这样,将 struct Test* p = NULL;  改成 struct Test* p = (struct Test*)malloc(sizeof(struct Test));

#include <stdio.h>#include <malloc.h> extern int g_var; extern struct Test; int main(){    extern void f(int i, int j);    extern int g(int x);        struct Test* p = (struct Test*)malloc(sizeof(struct Test));        printf("p = %p\n", p);        //g_var = 10;        printf("g_var = %d\n", g_var);        f(1, 2);        printf("g(3) = %d\n", g(3));        free(p);        return 0;}

        可以看到,直接报错:

delphi@delphi-vm:~$ GCc test.c global.c
test.c:6: warning: useless storage class specifier in empty declaration
test.c: In function &lsquo;main&rsquo;:
test.c:13: error: invalid application of &lsquo;sizeof&rsquo; to incomplete type &lsquo;struct Test&rsquo; 

        这是因为编译器在 test.c 是找不到 struct Test 的定义的,只有  struct Test 的声明,因此无法知道 struct Test 结构体的信息。(C 语言编译器编译 C 文件的时候不会依赖于文件之间的编译顺序)。

关于“C语言函数的溯源是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C语言函数的溯源是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C语言函数的溯源是什么

本文链接: https://www.lsjlt.com/news/327404.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言函数的溯源是什么
    这篇文章主要介绍了C语言函数的溯源是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言函数的溯源是什么文章都会有所收获,下面我们一起来看看吧。一、函数的由来二、模块化程序设计三、C 语言中的模块化四、面向...
    99+
    2023-06-30
  • C语言深入探究函数的溯源
    目录一、函数的由来二、模块化程序设计三、C 语言中的模块化四、面向过程的程序设计五、声名和定义六、小结一、函数的由来 二、模块化程序设计 三、C 语言中的模块化 四、面向过程的...
    99+
    2024-04-02
  • c语言中fwrite函数指的是什么
    fwrite()是一个文件处理函数,它能够把ptr所指向的数组中的数据写入到给定流stream中,如成功执行则返回实际写入的数据块数目,该函数是以二进制形式对文件进行操作,不局限于文本文件。...
    99+
    2024-04-02
  • c语言getchar函数的作用是什么
    `getchar()` 是 C 语言标准库中的一个函数,其作用是从标准输入流(也就是键盘)读取一个字符,并返回该字符的 A...
    99+
    2024-02-29
    c语言
  • c语言length函数的用法是什么
    在C语言中,没有内置的length函数可以直接获取字符串的长度。但可以使用标准库函数strlen()来计算字符串的长度。 strle...
    99+
    2024-02-29
    c语言
  • c语言ioctl函数的用法是什么
    在C语言中,ioctl函数是用来控制设备的系统调用函数。它的原型如下:cint ioctl(int fd, unsigned lon...
    99+
    2023-10-18
    c语言
  • c语言getchar函数的用法是什么
    getchar函数用于从标准输入流(即键盘)读取一个字符,并返回该字符的ASCII码值。它的原型如下: int getcha ...
    99+
    2023-10-20
    c语言
  • c语言abs函数的用法是什么
    c语言中的abs函数用于返回一个整数的绝对值。其语法如下:int abs(int n);其中,n为要求绝对值的整数。abs函数的返回...
    99+
    2023-10-21
    c语言
  • C语言fwrite函数的用法是什么
    fwrite函数是C语言中的一个文件操作函数,用于将数据块写入文件中。其基本用法如下:```csize_t fwrite(const...
    99+
    2023-09-12
    C语言
  • c语言feof函数的功能是什么
    feof函数的功能是检测文件流的结束标志。在C语言中,文件流通常通过FILE结构体表示,feof函数用于判断文件流是否已到达文件末尾...
    99+
    2023-10-10
    c语言
  • c语言locate函数的用法是什么
    C语言中的`locate`函数并不存在。也许你指的是`strstr`函数,它用于在一个字符串中查找另一个字符串的位置。以下是`str...
    99+
    2023-10-25
    c语言
  • c语言readline函数的用法是什么
    在C语言中,`readline()`函数用于从文件中读取一行内容,并将其存储到字符串中。 `readline()`函数的声明如下: ...
    99+
    2023-10-26
    c语言
  • c语言isalpha函数的用法是什么
    isalpha函数是C语言中的一个字符判断函数,用于判断给定的字符是否为字母。其函数原型为: int isalpha(int c);...
    99+
    2023-10-26
    c语言
  • c语言calloc函数的用法是什么
    calloc函数是C语言中的一个动态内存分配函数,用来分配一片连续的内存空间,并将其初始化为0。其函数原型如下所示: void *c...
    99+
    2023-10-26
    c语言
  • c语言attribute函数的用法是什么
    在C语言中,attribute函数用于指定函数属性。它可以用于函数声明或定义中,以指定一些特定的行为或属性。attribute函数通...
    99+
    2023-10-24
    c语言
  • c语言strcat函数的用法是什么
    strcat函数是C语言中的字符串拼接函数,用于将一个字符串(源字符串)连接到另一个字符串(目标字符串)的末尾,形成一个新的字符串。...
    99+
    2024-02-29
    c语言
  • c语言compare函数的作用是什么
    C语言中的compare函数通常用于比较两个值的大小或者关系。这个函数可以用来判断两个值是否相等、大小关系如大于、小于、等于等。比较...
    99+
    2024-03-01
    c语言
  • c语言free函数的作用是什么
    在C语言中,`free()`函数用于释放之前通过`malloc()`、`calloc()`或`realloc()`分配的动态内存。它...
    99+
    2023-09-15
    c语言
  • c语言fun函数的作用是什么
    c语言fun函数的作用有fun函数通常被主函数所调用。用fun来定义一个函数或方法,这样在引用时可以用fun表示。fun函数是自定义函数,只是在调用时用这个单词表示该函数。...
    99+
    2024-04-02
  • c语言fun函数的功能是什么
    C语言中的fun函数是一个自定义的函数,其功能根据函数的具体实现而定。fun函数可以用来完成各种任务,例如进行数学运算、字符串操作、...
    99+
    2023-10-23
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作