- 浏览: 70319 次
- 性别:
- 来自: 大连
最近访客 更多访客>>
最新评论
-
newlangwen1:
你好 我想请教个问题,我运行了一下上面的程序,结果是输入什么就 ...
C程序 对文本行进行排序
对外部变量的说明和定义不是一回事.对外部变量的说明,只是声明该变量是在外部定义过的一个全局变量..在这里引用.而对外部变量的定义,则是要分配存储单元.一个全局变量只能定义一次,却可以多次引用.
用extern声明外部变量,目的是可以在其它的文件中调用.具体使用见下面的例子:
file1.c file2.c
int i,j;//定义全局变量 extern int i,j;//外部变量说明
char c; extern char c;
void func() void func1()
{ {
} }
在file2.c中对外部变量i,j,c进行了说明,就可以直接调用file1.c中定义的全局变量了
静态变量static的使用
有时在中断程序中定义了变量,不希望每次进入中断程序,变量就被赋初值.这时就要使用static变量.静态局部变量在编译时赋初值,既只赋初值一次.见下例:
void serial_interrupt() interrupt 4 using 3
{ static uchar i="0";
i++;
}
上例中,编译时,i被赋初值0,以后每进入一次中断,i+1,而不是每次进入中断,i都被请零,再加1
如果在a.c中要调用在b.c中定义的函数func(),需要在a.c中声明该函数,表示该函数在别的源文件中定义。函数是可以互相调用的,因此函数都具有外部存储种类的属性。原则上调用一个在在本程序模块文件以外的其他模块文件所定义的函数,必须用关键字extern说明被调用函数是一个外部函数。实际使用中可以省掉extern。即下面两个函数声明没有明显的区别:
extern int f();和int f();
发表评论
-
C程序 声明与定义的区别
2010-07-30 15:34 1301http://zhidao.baidu.com/questio ... -
C语言 函数指针 与 指针函数
2010-07-30 10:27 906指针函数是返回指针的函数,即本质是一个函数。函数返回类型是某一 ... -
C程序 命令行参数
2010-07-30 09:34 669echo.cpp #include <stdi ... -
C程序 整型数按位取反 输出结果
2010-07-29 15:16 1313#include <stdio.h> int m ... -
C程序 对文本行进行排序
2010-07-26 09:30 992#include <stdio.h> #incl ... -
C语言:malloc()函数与alloc()函数
2010-07-24 10:02 905C语言跟内存分配方式 ... -
C程序设计语言(第二版) 5-4 strend(s,t)
2010-07-23 16:29 1460strend(s,t) 如果字符串t出现在字符串s的尾部,该函 ... -
C程序设计语言(第二版) 5-3 编写strcat()
2010-07-23 16:02 796#include<stdio.h> void ... -
C程序 关于字符串的问题
2010-07-23 15:47 669#include<stdio.h> void ... -
C程序设计语言(第二版)5-2
2010-07-22 17:13 671#include <ctype.h> #incl ... -
C程序设计语言(第二版) 4-14
2010-07-22 11:47 849定义宏swap(t, x, y)以交换t类型的两个参数 ... -
C程序设计语言(第二版) 4-13 递归版本reverse()将字符串倒置输出
2010-07-22 11:18 995编写一个递归版本的reverse()函数,将字符串倒置 ... -
C程序设计语言(第二版) 4-12
2010-07-22 10:29 1018运用printd函数的设计思想编写一个递归版本的itoa函数, ... -
C程序 递归小例子 快速排序
2010-07-22 09:26 916从执行速度来讲,下列版本的快速排序可能不是最快的,但是它是最简 ... -
C程序 递归实现将数字作为字符串输出
2010-07-21 15:47 1264将一个数字作为字符串打印的情况,数字是反序生成的:低位数字先于 ... -
C语言学习之变量存储
2010-07-21 15:14 864http://zhidao.baidu.com/questio ... -
C语言 全局变量和局部变量
2010-07-21 15:07 1425http://hi.baidu.com/%C3%E2%B7%D ... -
C语言 extern
2010-07-21 11:20 1095在头文件中声明函数时,前面的extern可有可无,只要这些函数 ... -
C程序设计语言(第二版) 4-8 最多只压回 一个字符
2010-07-20 18:47 757#include <stdio.h> i ... -
C程序设计语言(第二版) 4-7 编写一个函数ungets(),将整个字符串压回到输入中
2010-07-20 18:38 1472#include<stdio.h> #inclu ...
相关推荐
一、extern的使用方法 下面是《C语言程序设计》中的关于extern的解释: 在一个源程序的所有源文件中,一个外部变量只能在某个文件中定义一次,而其他文件可以通过extern声明来访问它(定义外部变量的源文件中也可以...
外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数 中定义其它函数,因此函数本身只能是“外部的”。 由于C语言代码是以文件为单位来组织的,在一个源程序所有源文件中,一个外部变量或...
在{}中的函数体内, 除形参外没有使用其它变量,因此只有语句而没有变量类型说明。 上边这种定义方法称为“传统格式”。 这种格式不易于编译系统检查,从而会引起一些非常细微而且难于跟踪的错误。ANSI C 的新标准中...
此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。这些数据类型我们在本节和后面的章节中都会陆陆续续介绍。 那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。 标识符的命名有一定的规则: ...
用extern声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义 126 9.2.2 带参宏定义 127 9.3 文件包含 128 9.4 条件编译 130 9.5 本章小结 10 指针 10.1 地址指针的基本概念 131 10.2 变量...
1 C语言概述 2 1.1 C语言的发展过程 2 1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 ...8.9.5 用extern声明外部变量 23
5.12 静态外部变量 5.13 默认初始化 5.14 递归 5.15 例子:汉诺塔 5.16 总结 5.17 练习 第6章 数组、指针和字符串 6.1 一维数组 6.1.1 初始化 6.1.2 下标 6.2 指针 6.3 传引用调用 6.4 数组和指针之间的关系 6.5 ...
用extern声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义 126 9.2.2 带参宏定义 127 9.3 文件包含 128 9.4 条件编译 130 9.5 本章小结 10 指针 10.1 地址指针的基本概念 131 10.2 变量...
8.9.5 用extern声明外部变量 23 9 预处理命令 1 9.1 概述 1 9.2 宏定义 1 9.2.1 无参宏定义 1 9.2.2 带参宏定义 4 9.3 文件包含 8 9.4 条件编译 9 9.5 本章小结 11 10 指针 1 10.1 地址指针的基本概念 1 10.2 变量的...
用extern声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义 126 9.2.2 带参宏定义 127 9.3 文件包含 128 9.4 条件编译 130 9.5 本章小结 10 指针 10.1 地址指针的基本概念 131 10.2 变量...
8.9.5 用extern声明外部变量... 23 9 预处理命令... 1 9.1 概述... 1 9.2 宏定义... 1 9.2.1 无参宏定义... 1 9.2.2 带参宏定义... 4 9.3 文件包含... 8 9.4 条件编译... 9 9.5 本章小结... 11 10 指针 ...
8.9.5 用extern声明外部变量 23 9 预处理命令 1 9.1 概述 1 9.2 宏定义 1 9.2.1 无参宏定义 1 9.2.2 带参宏定义 4 9.3 文件包含 8 9.4 条件编译 9 9.5 本章小结 11 10 指针 1 10.1 地址指针的基本概念 1 10.2 变量...
用extern声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义 126 9.2.2 带参宏定义 127 9.3 文件包含 128 9.4 条件编译 130 9.5 本章小结 10 指针 10.1 地址指针的基本概念 131 10.2 变量...
19 8.9 变量的存储类别 20 8.9.1 动态存储方式与静态动态存储方式 20 8.9.2 auto变量 21 8.9.3 用static声明局部变量 21 8.9.4 register变量 22 8.9.5 用extern声明外部变量 23 <br/>9 ...
18.3.5 用extern声明外部变量 196 18.3.6 用static声明外部变量 198 18.3.7 关于变量的声明和定义 198 18.3.8 存储类别小结 199 18.4 编译预处理 201 18.4.1 宏替换 201 18.4.2 文件包括 204 18.4.3 条件...
《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...
7128点 :3.09864ms使用方法指导:1,需要两个文件,fft_fp.c和fft_fp.h2,根据需求修改fft_fp.h中的采样点数FFT_N,采样点数以宏定义的方式定义3,外部声明两个全局变量,已经在fft_fp.c中定义extern struct compx ...
*2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];}...
3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...