zoukankan      html  css  js  c++  java
  • 嵌入式C中的一些语言基础知识

    1、申明和定义

      1.1 变量的定义和声明

         变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。

           变量的声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时我们声明了它的类型和名字。申明可以多次。

          可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern。

           extern int i; // declares but does not define i 申明但不定义

           int i; // delares and defines i 申明而且定义

          PS:如果声明有初始化式,那么它可以当作定义,extern int i=1;而且这种方式,extern必须在函数外面。

       1.2  函数的定义和声明

          以上都是针对变量,对于函数来说,函数的定义包含实现,比如:

           double f(int i, double d)

              {return i+d;} 

           函数的声明:double f(int, double); // 对于函数声明,extern关键字是可以省略的。

          

          无论如何,定义 操作是只能做一次的。如果你忘了定义一些你已经声明过的变量,或者在某些地方被引用到的变量,那么,连接器linker是不知道这些引用该连接到那块内存上的。然后就会报missing symbols 这样的错误。如果你定义变量超过一次,连接器是不知道把引用和哪块内存连接,然后就会报 duplicated symbols这样的错误了。以上的symbols其实就是指定义后的变量名,也就是其标识的内存块。

     1.3 头文件防止多次定义

        头文件很容易被嵌套include;有时候,有文件中包含对变量的定义,这样就存在变量被多次定义的情况,所以会用以下的格式来避免这种情况的发生:

      #ifndef __DELAY_H

     #define __DELAY_H

     头文件的主体,包含各种函数的申明和变量的声明或者定义,虽然在头文件中对变量进行定义是不推荐的。

      #endif

  • 相关阅读:
    75. Sort Colors
    101. Symmetric Tree
    121. Best Time to Buy and Sell Stock
    136. Single Number
    104. Maximum Depth of Binary Tree
    70. Climbing Stairs
    64. Minimum Path Sum
    62. Unique Paths
    css知识点3
    css知识点2
  • 原文地址:https://www.cnblogs.com/nasduc/p/7123910.html
Copyright © 2011-2022 走看看