搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > C语言与计算机编程 > C语言的一些重要概念(一)

C语言的一些重要概念(一)

C语言与计算机编程 2020-07-01

后期的代码编写,会用到一些C语言。

1、关键字static的作用是什么?

作用:修饰变量或函数

    1.改变作用域

    2.延长生命周期

    修饰局部变量:静态局部变量,存储位置由栈区变为数据区(初始化:.data,未初始化:.bss),延长生命周期

    修饰全局变量:限定作用域,只能在本文件中使用  (防止别人写的模块误用。)

    修饰函数:限定作用域,只能在本文件中使用

    static修饰的局部变量,只初始化一次:


2、“引用”与指针的区别是什么?


3、.h头文件中的ifndef/define/endif的作用?

主要作用是防止重复引用,比如一个头文件定义如下:
#ifndef _HEAD_H_
#define _HEAD_H_
//代码部分
#endif
假如该头文件第一次被引用,_HEAD_H_没有被定义,所以就执行宏定义,直到#endif
该头文件第二次被引用的时候,_HEAD_H_已经被定义,下面的语句就不会执行


4、#include<file.h> 与#include"file. h"的区别?

当用#include“file.h”时,先搜索当前工作目录,如果没有,再去搜索库,库没有再搜索资源库;
当用#include<file.h>时,编译器先从标准库路径开始搜索,如果没再搜索资源库目录,最好搜索当前工作目录。


5、描述实时系统的基本特性

通常,实时操作系统必须有以下特征:
1)多任务;
2)有线程优先级
3)多种中断级别


6、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

1、关于全局变量能否在头文件中声明的问题,答案是可以的。
2、在不同的C文件中各自用static声明的全局变量,变量名尽管可能相同,但是各自C文件中的全局变量的作用域为该文件,所以互相之间不干扰。
3、对于在头文件中定义static 变量的问题。包含该头文件的所有c文件都定义了一个该文件的全局变量。更详细的关于这个的问题解析,可以参考下面这个链接:


7、什么是预编译,何时需要预编译?

预编译又称为预处理,是做些代码文本的替换工作
处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等
就是为编译做的预备工作的阶段
主要处理#开始的预编译指令
预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。


8、结构与联合有和区别?

Struct与Union主要有以下区别:

1.struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的。一个struct变量的总长度等于所有成员长度之和。在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在。Union变量的长度等于最长的成员的长度。

2. 对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于struct的不同成员赋值是互不影响的。

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《C语言的一些重要概念(一)》的版权归原作者「C语言与计算机编程」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注C语言与计算机编程微信公众号

C语言与计算机编程微信公众号:gh_e5fd018f9055

C语言与计算机编程

手机扫描上方二维码即可关注C语言与计算机编程微信公众号

C语言与计算机编程最新文章

精品公众号随机推荐