当前位置: 首页 > news >正文

重庆建网站派臣公司平面设计提升培训机构

重庆建网站派臣公司,平面设计提升培训机构,网络服务提供者是不是网络运营者,google浏览器下载劝人的话就像清晨的闹钟,只对别人有用,却永远叫不醒自己。 ----小新 一.预处理指令 (1)#define & typedef #define是C语言中定义的语法,是预处理指令,在预处理时进行简单而机械的字符串替换&…

         劝人的话就像清晨的闹钟,只对别人有用,却永远叫不醒自己。

                                                                                                                                          ----小新

一.预处理指令

(1)#define & typedef     

        #define是C语言中定义的语法,是预处理指令,在预处理时进行简单而机械的字符串替换,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错。

        typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不能在一个函数定义里面使用typedef。用typedef定义数组、指针、结构等类型会带来很大的方便,不仅使程序书写简单,也使意义明确,增强可读性。

例如:

#define PI 3.14159
typedef struct {  char name[50];  int age;  
} Student; 

注解:

        PI就被定义为一个常量,值为3.14159。

(2) #include

   这是预处理指令中最常用的函数之一,用于包含其他文件。

例如:

#include <stdio.h>

注解:

        这个指令就会包含标准输入输出库。


(3)#if#ifdef#ifndef#else#elif#endif

   这些是条件编译的预处理指令,用于有条件地编译程序。

例如:

#if defined(DEBUG) 
// 只有在定义了DEBUG时才会编译这部分代码 
#endif

(4)#undef

    这个预处理指令用于取消已经定义的宏。

例如:

#define PI 3.14159 
#undef PI

注解:

        PI就被取消定义了。


(5) #line#error#pragma

    这些是比较特殊的预处理指令,#line用于改变编译器中的行号和文件名跟踪,#error用于让编译器生成错误信息,#pragma用于实现一些特定的编译器特性。这些指令的使用往往依赖于具体的编译器实现。

(6)__DATE____TIME____FILE____LINE____func__

         这些是C99引入的预定义的宏,分别代表当前日期、时间、源文件名、行号和函数名。例如,__LINE__就会在编译时被替换为当前源代码行号。

(7)__attribute__((...))

        这个是在GCC和一些其他C编译器中使用的特性,用于设置函数属性、变量属性等。例如,__attribute__((noreturn))就表示这个函数不会返回。

二.寄存器存储

(1) register

        1.建议寄存器存储

        通过使用 register 关键字,程序员可以向编译器建议将某个变量存储在寄存器中。寄存器是位于中央处理单元(CPU)内部的存储区域,它的访问速度比内存要快得多。因此,将变量存储在寄存器中可以提高程序的执行速度。

register int counter; // 建议编译器将 counter 存储在寄存器中

        2.编译器决定

        需要强调的是,register 只是一个建议,而非强制要求。编译器可以选择是否将变量存储在寄存器中。通常,编译器会根据代码的复杂性和寄存器的可用性来决定是否采纳这些建议。

        3.限制使用

        register 变量通常有一些限制,例如不能取地址或使用指针对其进行操作,因为寄存器变量不在内存中有地址。这也意味着 register 变量通常不能用于需要取地址的操作,如指针和数组的地址计算。

        4.性能提升

        使用 register 可以提高程序的性能,特别是在循环中对频繁访问的变量使用 register 可能会产生显著的性能提升。

 

三.共享全局变量

1.变量声明

        通过使用 extern,你可以在一个源文件中声明一个在另一个源文件中定义的全局变量,以便在当前源文件中使用它,而不需要重新定义。这对于在多个文件中共享全局变量非常有用。

// File1.c
int globalVar; // 定义全局变量// File2.c
extern int globalVar; // 声明在其他文件中定义的全局变量

2.函数声明

        类似于变量,你也可以使用 extern 来声明在其他源文件中定义的函数。这允许你在当前文件中使用这些函数而无需重新定义它们。

// File1.c
void someFunction(); // 定义函数
// File2.c
extern void someFunction(); // 声明在其他文件中定义的函数

3.解决多文件编程

        extern 用于多文件编程中,特别是当你将程序拆分成多个源文件时,有助于确保这些文件之间的全局变量和函数能够正确共享。它允许你在一个文件中定义,而在其他文件中声明和使用这些全局实体。

4.避免重复定义

        extern 声明允许你在一个文件中定义全局变量或函数,而在其他文件中声明,从而避免多次定义相同的变量或函数,这将导致链接错误。

 

http://www.yayakq.cn/news/793072/

相关文章:

  • 门户网站开发需求分析报告百度为什么不收录网站的某个版块
  • 外贸网站怎么注册企业网站seo服务
  • 网站访问大小 计算流量昆山网站建设书生商友
  • 淘宝客做的好的几个网站福安做网站
  • 做网站卖产品怎么开展网页版微信登录提示二维码已失效
  • 特色美食网站建设个人网站制作教程
  • 盾思途旅游网站建设网页建站工具
  • 音乐网站是否可以做浅度链接装修设计公司起名
  • 扬州建设信用网站修改网站主目录的位置
  • 如今做啥网站能致富建网站报价 优帮云
  • 网站给部分文字做遮挡代码常州微信网站建设平台
  • 网站开发首选语言可以设计房子布局的软件
  • 集团公司手机站网站建网站团队
  • 机械配件网站建设网站抓取压力高
  • 做物流网站电话号码ppt模板免费下载的网站
  • 网站建设的毕业设计成果专业的公司网页制作
  • 潍坊高级网站建设推广云南省建设项目申报网站
  • 完整的网站建设成都网站制作工具
  • 聊城 网站制作php原生态开发公司网站
  • 安徽苏亚建设安装有限公司网站wordpress 转织梦
  • 企业网站是怎么建站的哪里可以免费做网站
  • 海外网站建设wordpress特效主题免费
  • 深圳网站建设易佰讯网站建设分几种类型
  • 扶贫基金会网站建设是哪家公司北京网站建设公司册
  • 网站服务器ip地址怎么查wordpress文档编辑器
  • 无锡网站开发平台怎样卸载wordpress
  • 建设工程施工员考试在哪个网站百度搜国外服务器Wordpress
  • 电力建设集团网站站长工具亚洲高清
  • 网站模板 音乐怎么查看一个网站的后台
  • 营销型网站sempk市场营销策略ppt