首页 > 代码库 > 黑 马 程 序 员_视频学习总结<C语言>----07 static和extern关键字、typedef
黑 马 程 序 员_视频学习总结<C语言>----07 static和extern关键字、typedef
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、外部函数
外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数。C语言规定,不允许有同名的外部函数
二、内部函数
内部函数:如果在当前文件中定义的函数不允许其他文件访问、调用,只能在内部使用,就称为内部函数。C语言规定不同的源文件可以有同名的内部函数,并且互不干扰。
三、static、extern与函数的总结
1.在定义函数时,在函数的最左边加上static可以把该函数声明为内部函数(又叫静态函数),这样该函数就只能在其定义所在的文件中使用。如果在不同的文件中有同名的内部函数,则互不干扰。
2.static也可以用来声明一个内部函数
3. 在定义函数时,如果在函数的最左边加上关键字extern,则表示此函数是外部函数,可供其他文件调用。C语言规定,如果在定义函数时省略extern,则隐含为外部函数。
4.在一个文件中要调用其他文件中的外部函数,则需要在当前文件中用extern声明该外部函数,然后就可以使用,这里的extern也可以省略。
5..extern可以用来声明一个全局变量,但是不能用来定义变量
6.默认情况下,一个全局变量是可以供多个源文件共享的,也就说,多个源文件中同名的全局变量都代表着同一个变量
7.如果在定义全局变量的时候加上static关键字,此时static的作用在于限制该全局变量的作用域,只能在定义该全局变量的文件中才能使用,跟其他源文件中的同名变量互不干扰
四、typedef总结
1.我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。
2. 也可以在别名的基础上再起一个别名
typedef int Integer;typedef Integer MyInteger;
3.除开可以给基本数据类型起别名,typedef也可以给指针起别名
4.默认情况下,我们定义结构体变量需要带个struct关键字
5.typedef可以给指针、结构体起别名,当然也可以给指向结构体的指针起别名
6.使用typedef给枚举类型起别名也可以使代码简洁。
7.以后给类型起别名,最好使用typedef,而不是使用#define
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
详细请查看:www.itheima.com
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。