首页 > 其他分享 >C语言关键字extern

C语言关键字extern

时间:2023-08-16 16:55:05浏览次数:34  
标签:__ main int C语言 关键字 test extern include

       在C语言中用来声明一个变量为外部变量,也叫全局变量; 或者声明一个函数在外部进行了定义。也就是说,用extern修饰的变量或函数在同一工程下的其他文件也可以进行调用。

1、extern对变量的声明

test.h

#ifndef __TEST_H__
#define __TEST_H__

extern int a=15;

#endif

main.cpp

#include<stdio.h>
#include "test.h"

int main()
{
    printf("a=%d\n", a);
    a=20;
    printf("a=%d\n", a);
    return 0;
}

2、extern对函数的声明

test.h

#ifndef __TEST_H__
#define __TEST_H__

extern int sum(int a, int b);

int sum(int a, int b)
{
    return a+b;
}

#endif

main.cpp

#include<stdio.h>
#include "test.h"

int main()
{
    int c;
    c=sum(10,20);
    printf("c=%d\n", c);
    return 0;
}

 

标签:__,main,int,C语言,关键字,test,extern,include
From: https://www.cnblogs.com/lyfily-p-7439305/p/17635553.html

相关文章

  • 笔记整理--C语言--很酷的C语言技巧 - 博客 - 伯乐在线——转载
    C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:intfibs[]={1,1,2,3,5};C99标准实际......
  • 关于条件变量(C语言)
    由于条件变量必须和互斥锁协同使用,所以在介绍条件前会先介绍一下互斥锁(本文目前只介绍C语言,C++的条件变量可能后期会介绍)1、互斥锁从本质上来说,互斥锁是一把锁,保护共享资源免受并发影响的问题,同一时间只能有一个线程可以访问被保护的资源,从而防止竞态而产生不好的结果......
  • 为什么在java中没有虚函数的关键字?
    因为java默认函数是虚函数,都可以被继承和重写。不想被重写需要加上final关键字。参考:C++中普通成员函数加上virtual关键字就成为虚函数。Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特......
  • 笔记整理--C语言——忽略大小写的字符串查找
    char*stristr(char*pString,char*pFind){unsignedlongpFind_len=0;unsignedlongcmp_len=0;char*pt1=NULL,*pt2=NULL;char*pString_pt=pString;///////////////pFind_len=strlen(pFind);if(pFind_len==0){......
  • 《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1Cr4y1d7Mp/1、键盘敲击声解码https://arxiv.org/abs/2308.01074键盘敲击声被解码的话,我们使用键盘输入密码将被方便的解码出......
  • C语言数据的存储
    目录类型的基本归类整形在内存中的存储原码、反码、补码大小端介绍练习浮点型在内存中的存储浮点数存储的例子浮点数存储规则类型的基本归类整形家族:charunsignedcharsignedcharshortunsignedshort[int]signedshort[int]intunsignedint......
  • 关键字
    finalfinallyfinalize区别final有什么用?用于修饰类、属性和方法;•被final修饰的类不可以被继承•被final修饰的方法不可以被重写•被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的 •final......
  • C语言中数组的基础知识
    数组是一种集合数据类型,它由多个元素组成,每个元素都有相同的数据类型,占有相同大小的存储单元,且在内存中连续存放。每个数组有一个名字,数组中的每个元素有一个序号(称为下标),表示元素在数组中的位置,数组的维数和大小在定义数组时确定,程序运行时不能改变。一维数组的定义形式为:类型说......
  • C语言指针初级学习笔记
    目的在于了解指针的基本概念和一些用法下面是本阶段导图:基本概念inta=10;int*p=&a;指针就是地址,p为指针变量,存放地址的一个最小的内存单元为一字节32位机器指针所占内存4字节64位机器指针所占内存8字节指针类型1.指针决定访问指针类型决定了指针解引用访问的字节大小int*......
  • JAVA关键字理解
    各种关键字总是弄混,划一根线来梳理一下它们之间的关系~前言关键字,是语言的肢体,利用关键字才能表现出不同的动作,进而真正实现功能。不得不说任何一种计算机语言都会从数据类型开始讲起。当基本数据类型不足以满足当下需求时,就会出现数组等各种类型,即引用数据类型。【所以会有......