extern 是什么意思?

3.extern 是什么意思?

答: extern 修饰符用于声明 由程序集外部实现的成员函数经常用于系统API函数的调用(通过 DllImport )。注意,和DllImport一 起使用时要加上 static 修饰符也可以用于对于同一程序集不同版本组件的调用(用 extern 声明别名) 不能与 abstract 修饰符同时使用 。

示例:

 

Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Example03
{
class Program
{
//注意DllImport是一个Attribute Property,
//在System.Runtime.InteropServices命名空间中定义
//extern与DllImport一起使用时必须再加上一个static修饰符
[DllImport("User32.dll")]
public static extern int
MessageBox(
int Handle, string Message, string Caption, int
Type);
static int Main()
{
string myString;
Console.Write(
"Enter your message: ");
myString
= Console.ReadLine();
return MessageBox(0, myString, "My Message Box", 0);
}
}
}

 

结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C/C++extern是一个用于声明变量或函数的关键字,它表示这个变量或函数在其他地方已经定义过了,当前文件只是引用它,而不是定义它。使用extern关键字可以让多个文件共享同一个变量或函数,从而实现模块化编程和代码重用。 具体来说,当我们在一个文件使用extern关键字声明一个变量或函数时,编译器会将它标记为外部变量或函数,表示这个变量或函数的定义存在于其他文件。在编译过程,编译器不会为这个变量或函数分配内存空间,因为它的定义不在当前文件。相反,编译器会在链接过程查找这个变量或函数的定义,然后将它们连接到一起,形成一个可执行文件。 例如,假设我们有两个文件a.c和b.c,它们都需要使用同一个全局变量x。我们可以在一个文件定义这个变量(例如a.c),并在另一个文件声明它(例如b.c): ``` //a.c int x = 10; //定义全局变量x //b.c extern int x; //声明外部变量x ``` 在b.c文件使用extern关键字声明变量x时,编译器会知道这个变量的定义在其他文件,并且会在链接时将它们连接起来,从而实现变量的共享。 ### 回答2: extern 是C语言的一个关键字。它用于声明一个变量或函数是在其他源文件定义的。简单来说,当我们在一个源文件使用extern声明一个变量或函数时,它就可以被其他源文件的定义所引用和调用。 在C语言,源文件一般会被分为多个模块,每个模块有自己的独立作用。有时候,我们需要在一个模块访问另一个模块定义的变量或函数,这时就可以用到extern。因为不同的模块是分别编译的,所以要使用的变量或函数必须先进行声明,以便在连接的时候能够正确找到定义。 通过使用extern关键字,我们可以在使用变量或函数之前,用extern关键字声明它们的存在。这样,编译器就会知道这些变量或函数是在其他模块定义的,同时也会在连接的时候找到它们的定义。这种机制使得我们可以更好地模块化代码,方便地在不同的模块之间进行交互和共享数据。 总结一下,extern在C语言的作用就是用来声明在其他源文件定义的变量或函数,以便在当前模块使用。它提供了不同源文件之间进行变量和函数共享的机制,使得模块化的代码开发更加方便和灵活。 ### 回答3: extern是C/C++编程语言的一个关键字,用于声明外部变量或函数。 在C/C++,如果需要在某个源文件使用其他源文件定义的全局变量或函数,并且这些全局变量或函数的定义在其他文件,则需要使用extern关键字进行声明。 对于变量而言,使用extern关键字声明时,可以用来引用其他文件已定义的全局变量,如: extern int global_var; 这表示global_var是在其他源文件定义的全局变量,我们可以在当前文件引用它,而不需要重新定义。 对于函数而言,使用extern关键字声明时,可以用来引用其他文件已定义的函数,如: extern void func(); 这表示func()是在其他文件定义的函数,我们可以在当前文件调用它,而不需要重新定义。 另外,extern关键字也可以用来定义全局变量或函数,但是一般不推荐使用,因为会造成全局变量或函数的重复定义,应该将全局变量或函数的定义放在一个文件。 总结起来,extern关键字的作用就是用来声明外部变量或函数,使得在一个源文件可以使用其他文件已定义的全局变量或函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值