zoukankan      html  css  js  c++  java
  • 黑马程序员——c语言基本语法知识(四)

    一、外部函数

    • 外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数。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

  • 相关阅读:
    POJ 3261 Milk Patterns (求可重叠的k次最长重复子串)
    UVaLive 5031 Graph and Queries (Treap)
    Uva 11996 Jewel Magic (Splay)
    HYSBZ
    POJ 3580 SuperMemo (Splay 区间更新、翻转、循环右移,插入,删除,查询)
    HDU 1890 Robotic Sort (Splay 区间翻转)
    【转】ACM中java的使用
    HDU 4267 A Simple Problem with Integers (树状数组)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4417 Super Mario (树状数组/线段树)
  • 原文地址:https://www.cnblogs.com/HtercelH/p/4033687.html
Copyright © 2011-2022 走看看