首页 > 编程语言 > 详细

c语言中的文件作用域、函数原型声明、定义声明和非定义声明

时间:2021-03-30 09:38:59      阅读:35      评论:0      收藏:0      [点我收藏+]

 

c语言中的文件作用域。

1、c语言中的文件作用域

#include <stdio.h>

#define NUMBER 5   ## 对象式宏

int v[NUMBER];    ## 在函数外声明的变量,文件作用域,定义声明

int func1(void);   ## 因为func1函数是在main函数之后创建的,因此需要函数原型声明

int main(void)
{
    extern int v[];   ## 非定义声明,可省略
    int i;
    puts("please input the scores."); 
    for (i = 0; i < NUMBER; i++)
    {
        printf("v[%d] = ", i); scanf("%d", &v[i]);
    }
    printf("the max : %d\n", func1());
    return 0;
}

int func1(void)
{
    extern int v[];   ## 非定义声明,可省略
    int i, max = v[0];
    for (i = 0; i < NUMBER; i++)
    {
        if (v[i] > max)
            max = v[i];
    }
    return max;
}

技术分享图片

 

 

在程序的程序块中声明的变量的作用域是块作用域。 而像数组v这样,是在函数外声明的,其名称从声明的地方开始,到该程序的结尾都是通用的,这样的作用域称为文件作用域。

 

编译器在读取数据时,是按照从头到尾的顺序读取的,因为func1函数定义在main函数之后,所有要想在main函数中调用top函数,需要提前声明funca1函数,像这样明确描述了函数的返回类型,以及形参的类型和个数等的声明称为

函数原型声明。如果把函数func1放在main函数之前,就不需要函数原型声明了。

func1原型声明:非定义声明

func1函数:定义声明。

 

c语言中的文件作用域、函数原型声明、定义声明和非定义声明

原文:https://www.cnblogs.com/liujiaxin2018/p/14594723.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!