博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式C中的一些语言基础知识
阅读量:6922 次
发布时间:2019-06-27

本文共 905 字,大约阅读时间需要 3 分钟。

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

转载于:https://www.cnblogs.com/nasduc/p/7123910.html

你可能感兴趣的文章
截图留存
查看>>
web复习day03:request
查看>>
LVS负载均衡
查看>>
RabbitMQ使用
查看>>
电子签名助力电子处方合规高效,实现医院管理全程电子化
查看>>
contentType
查看>>
Python3网络爬虫(十一):爬虫黑科技之让你的爬虫程序更像人类用户的行为(代理IP池等)...
查看>>
好程序员web前端分享CSS元素类型
查看>>
成都大数据语言培训:改变人们的生活的大数据趋势
查看>>
tomcat6-7配置管理用户
查看>>
意法半导体 STM32F030F4 芯片解密 工业控制
查看>>
TOP100案例分享 “预测性维护”
查看>>
Oracle教程之包(PACKAGE)的使用
查看>>
Oracle控制文件的恢复(二)
查看>>
Oracle控制文件的恢复(一) Oracle控制文件如何恢复?
查看>>
Oracle技术之DATA GUARD手工管理数据文件
查看>>
表段、索引段上的LOGGING与NOLOGGING
查看>>
ORACLE 临时表空间使用率过高的原因及临时解决方案
查看>>
·McCabe
查看>>
yum升级php到5.2
查看>>