汉扬编程 C语言入门 c语言中的extern怎么用?

c语言中的extern怎么用?

extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明。在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管的,链接后就可能出现错误。比如你的实体是 int sample( int x ) ;而你在申明的时候是extern int sample( void ) ; 所以我不喜欢这种方式去声明。特别是多个人合作项目的时候,这种方法往往导致的结果很难去debug。即使是别人写好提供给你的,那他在修改了函数或者变量的类型,参数,往往会忘记修改给你的申明。

extern 还有个作用就是当你C和C++混用的时候,比如在C++中要使用C, 那么就要告诉编译器,你这段代码使用的是C,需要用C的编译器去编译,那可以使用extern \”C\” { ………} 否则编译会有问题

C语言中Static和Extern的具体用法,有例子最好?

泻药,这种问题最折磨人了,说一下我的看法不对勿喷,extern 有很多功能,如果 顺序是 int a=2; extern int a;这时候编译器理解extern为引用变量,所以当int a=2;改为static int a=2;

不会出现问题,但是顺序变为 extern int a;static int a=2;extern的职能就是声明变量a,声明了变量a,(区别正常的int a,定义)u有声明就需要有定义,但后后面却定义了static int,所以编译认为a变量只有申明没有定义,自然报错了。

extern在c语言中的作用?

extern表示是外部函数或外部变量,比如:

1、extern void add(int x,inty);表示该函数主体不在当前模块中,在另一个模块中(文件)

2、extern int total;表示该变量在另一个模块总定义过。

一般都把一些经常用到的枚举和变量之类的写在.h头文件中。这样要引用时直接include \”头文件名\”就可以了调用里面所有的枚举和变量了。在大型项目中,引用别的.c文件中的函数则只能用extern,因为.c文件是不能 include的。所以想引用别的.c文件中的函数和全局变量、枚举等等的就只能用extern。

c语言中类型标识的用法?

C语言中的标识符

1) 标识符由字母、数字、下划线“_”组成,并且首字母不能是数字.

2) 不能把C语言关键字作为标识符.

3) 标识符长度限制8字符.

(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

4) 标识符对大小写敏感.

5)标识符命名应做到“见名知意”

下面的标识符名是合法的:

year,Day,ATOK,x1,_ CWS,_change_to

而下面的标识符名是不合法的:

#123,.COM,$100,1996Y,1_2_3,Win3.2

如果你问的是关键字的话,参考下面的内容:

auto :声明自动变量

short :声明短整型变量或函数

int: 声明整型变量或函数 long :声明长整型变量或函数

float:声明浮点型变量或函数

double :声明双精度变量或函数

char :声明字符型变量或函数

struct:声明结构体变量或函数

union:声明共用数据类型

enum :声明枚举类型

typedef:用以给数据类型取别名

const :声明只读变量

unsigned:声明无符号类型变量或函数

signed:声明有符号类型变量或函数

extern:声明变量是在其他文件正声明

register:声明寄存器变量

static :声明静态变量

volatile:说明变量在程序执行中可被隐含地改变

void :声明函数无返回值或无参数,声明无类型指针

if:条件语句

else :条件语句否定分支(与 if 连用)

switch :用于开关语句

case:开关语句分支

for:一种循环语句

do :循环语句的循环体

while :循环语句的循环条件

goto:无条件跳转语句

continue:结束当前循环,开始下一轮循环

break:跳出当前循环

default:开关语句中的“其他”分支

sizeof:计算数据类型长度

return :子程序返回语句(可以带参数,也可不带参数)循环条件

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/7107.html

(c语言合法的字符常量是)合法c语言常量的规定e?

(c语言中的extern函数)c语言中的extern是什么,有什么作用啊?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部