网上书店网站建设毕业设计顺徳网站建设公司有哪些

web/2025/9/26 11:04:29/文章来源:
网上书店网站建设毕业设计,顺徳网站建设公司有哪些,高要建设网站,内蒙古呼和浩特邮编#x1f4dc;作者#xff1a;不想脱发的基兄 #x1f4fa;专栏#xff1a;《嵌入式面试》 #x1f4e3;格言#xff1a;不管前方的路有多苦#xff0c;只要走的方向正确#xff0c;不管多么崎岖不平#xff0c;都比站在原地更接近幸福。 前言#xff1a; 2022年秋招我… 作者不想脱发的基兄 专栏《嵌入式面试》 格言不管前方的路有多苦只要走的方向正确不管多么崎岖不平都比站在原地更接近幸福。 前言 2022年秋招我面试嵌入式MCU开发方向经过了多场的笔试与面试在准备的过程中看了非常多的资料我的汇总的笔记一直写在有道云笔记中没有分享出来。现在已经到了23年春招了特此整理后分享出来。资料看过了觉得不错就保存下来了如果有不对的地方欢迎批评指正侵权联删 1、递归函数定义没有问题递归深层次后易引发什么问题 1影响执行效率 2栈溢出。 因为每一次调用函数是栈区都要给函数分配空间而且上一次调用并没有结束调用的次数太多栈区的内存不够分配了便会出现栈溢出的情况。 2、堆与栈的区别 1栈的空间是系统自动分配和回收堆的空间是用户手动分配回收malloccallocreallocfree 2栈的空间较小堆的空间较大 3栈的地址空间往地址向下增长堆的地址空间是由低地址到高地址 4栈的存储效率更高 3、循环控制条件关键字goto被经常使用但是goto的使用场合为什么受到局限 因为goto会破坏程序的栈逻辑。 4、循环控制条件关键字goto的使用场景有哪些 1常用来跳出死循坏 2打印错误 3goto被经常使用只是使用场合受到局限因为他会破坏程序的栈逻辑。 5、字节对齐的理解 5.1 什么是字节对齐 字节对齐主要是针对结构体而言的通常编译器会自动对其成员变量进行对齐以提高数据存取的效率 5.2 字节对齐的两种方式 默认对齐方式、指定对齐方式 1)默认对齐方式内存分配满足以下三个条件 结构体第一个成员的地址和结构体的首地址相同 结构体每个成员地址相对于结构体首地址的偏移量offset是该成员大小的整数倍如果不是则编译器会在成员之间添加填充字节 结构体总的大小要是其成员中最大size的整数倍如果不是编译器会在其末尾添加填充字节。 如char是1字节short是2字节int是4字节... 2指定对齐方式使用以下方式声明 //注通过#pragma pack(n)改变C编译器的字节对齐方式 #pragma pack(4) //安装4字节的对齐方式 指定对齐方式内存分配满足以下几个条件 结构体第一个成员的地址和结构体的首地址相同 结构体每个成员的地址偏移需要满足N大于等于该成员的大小那么该成员的地址偏移需满足默认对齐方式地址偏移是其成员大小的整数倍小于该成员的大小那么该成员的地址偏移是N的整数倍。 结构体总的大小需要时N的整数倍如果不是需要在结构体的末尾进行填充。 如果N大于结构体成员中最大成员的大小则N不起作用仍然按照默认方式对齐。 注在使用#pragma pack设定对齐方式一定要是2的整数幂也就是124816…不然不起作用的仍然按照默认方式对齐。 例1结构体使用字节对齐为1 // date:2022年 11月 08日 星期二 19:35:36 CST // author: HeiBaiYe // path: /mnt/hgfs/CD2206/02-c语言 #include stdio.h#pragma pack(1) //通过#pragma pack(n)改变C编译器的字节对齐方式 在C语言中结构是一种复合数据类型 struct s1{char ch; // 1int a; //4double b; //8char c1; //1 };#pragma pack(1) struct s2{char ch; //1int a; //4double b; //8 };int main() {printf(s1的大小%ld\n ,sizeof(struct s1));printf(s2的大小%ld\n ,sizeof(struct s2));return 0; }结果 s1的大小14 s2的大小13 例2结构体使用默认字节对齐方式m值 // date:2022年 11月 08日 星期二 19:35:36 CST // author: HeiBaiYe // path: /mnt/hgfs/CD2206/02-c语言 #include stdio.h struct s1{char ch; // 1int a; //4double b; //8char c1; //1 };struct s2{char ch; //1int a; //4double b; //8 };int main() {printf(s1的大小%ld\n ,sizeof(struct s1));printf(s2的大小%ld\n ,sizeof(struct s2));return 0; } 结果 s1的大小24 s1的大小16 参考链接https://blog.csdn.net/wdl20170204/article/details/109386825 6、局部变量和全局变量可以重名吗 1能局部变量会屏蔽全局变量。C中要用全局变量需要使用 ::(域解析符) 。C语言中局部变量可以与全局变量同名在函数内引用这个变量时会用到同名的局部变量而不会用到全局变量。 2对于有些编译器而言在同一个函数内可以定义多个同名的局部变量比如在两个循环体内都定义一个同名的局部变量而那个局部变量的作用域就在那个循环体内。 7、UNIX系统中fsync函数的作用 fsync()负责将参数fd 所指的文件数据, 由系统缓冲区写回磁盘, 以确保数据同步。 头文件#include 定义函数int fsync(int fd); 函数说明fsync()负责将参数fd 所指的文件数据, 由系统缓冲区写回磁盘, 以确保数据同步. 返回值成功则返回0, 失败返回-1, errno 为错误代码。 参考链接:https://blog.csdn.net/Michaelwubo/article/details/41210547 8、const关键字使用有哪些 8.1 修饰变量 const的 常规用法在变量初次定义时赋初并用关键字const修饰使变量只可访问不能重新赋值修改变量。 8.2 修饰指针 1限制指针变量修饰指针变量指向的位置不能被修改。定义时被 const 修饰的指针变量指针只能在定义时初始化不能定义之后重新指向新的数据。 2限制指针变量指向的数据修饰【指针的解引用】修饰的指针变量指向的变量的值不能被修改但是该指针可以指向其它空间。 3同时限制指针变量和指针变量指向的变量的值修饰指针变量指向的位置不能被修改并且指针变量指向变量的值也不能被修改。 4修饰函数形参【指针】函数形参可以利用const关键字进行限制来防止在函数内部修改指针指向的数据。 9、内存布局中有哪些段 文本段(.text)、数据段(.data)、.bss段、堆(heap)、栈(stack) 图 虚拟空间的各个部分 10、volatile关键字的作用 1裸机编程时某变量是指向寄存器中某一特定地址添加volatile的变量不进行优化处理 2某函数与中断函数共享全局变量时加上volatile让编译器不要省略该变量的访问 3多线程中修饰共享全局变量让编译器不要省略该变量的访问。 11、sizeof()与strlen()的区别 1sizeof是运算符计算能容纳实现所建立的最大对象的字节大小参数可以是数组、指针、类型、对象、函数等 2strlen是函数功能是返回字符串的长度参数必须是字符型指针char*。 12、内存泄漏和内存溢出是什么 1内存溢出指程序申请内存时没有足够的内存供申请者使用。或者说给了你一块存储int类型数据的存储空间但是你却存储long类型的数据那么结果就是内存不够用此时就会报错Out Of Memory,即所谓的内存溢出。 2内存泄漏是指程序在申请内存后无法释放已申请的内存空间。一次内存泄漏似乎不会有大的影响但内存泄漏堆积后的后果就是内存溢出。 13、定义一个指针赋值字符串与定义一个数组赋值字符串有什么区别 1指针赋值字符串是指向一定内存的指针只不过是指向字符串常量的指针指针中的数据不能修改。 2数组赋值字符串是一片char型的数组可以理解为缓冲区只不过是赋值为了字符串。 14、malloc()与calloc分配空间有什么不一样 1malloc申请后空间的值是随机的并没有进行初始化而calloc却在申请后对空间逐一进行初始化并设置值为0 2malloc要申请的空间大小需要我们手动的去计算calloc并不需要人为的计算空间的大小。 15、实现循环的方式 while、for 、do while 、goto 循环。 16、全局变量和局部变量在内存中有什么不同? 1全局变量保存在内存的全局存储区中占用静态的存储单元 2局部变量保存在栈中只有在所在函数被调用时才动态地为变量分配存储单元。 17、预处理的作用是什么 预处理器可以删除注释、包含其他文件以及执行宏宏macro是一段重复文字的简短描写替代。 18、编译器的作用 编译器就是将一种语言通常为高级语言翻译为另一种语言通常为低级语言的程序。一个现代编译器的主要工作流程源代码(.c)→ 预处理器(.i) → 编译器 (.s)→ 目标代码 (.o)→ 链接器 → 可执行程序 。 19、.ELF文件是什么 .ELF是C语言在linux中的可执行文件。 20、C语言程序编译的流程是什么 图 编译过程 1预处理根据以字符#开头的命令修给原始的C程序结果得到另一个C程序通常以.i作为文件扩展名。主要是进行文本替换、宏展开、删除注释这类简单工作。 对应的命令linux gcc -E hello.c hello.i 2编译编译器将文本文件hello.i翻译成hello.s包含相应的汇编语言程序。 对应的命令linux gcc -S hello.c hello.s 3汇编将.s文件翻译成机器语言指令把这些指令打包成一种叫做可重定位目标程序的格式并将结果保存在目标文件.o中(把汇编语言翻译成机器语言的过程)。 把一个源程序翻译成目标程序的工作过程分为五个阶段词法分析语法分析语义检查和中间代码生成代码优化目标代码生成。主要是进行词法分析和语法分析又称为源程序分析分析过程中发现有语法错误给出提示信息。 对应的命令linux gcc -c hello.c hello.o 4链接将静态库和动态库的库函数连接到可执行程序中。静态库是指编译链接时把库文件的代码全部加入到可执行文件中因此生成的文件比较大但在运行时也就不再需要库文件了。其后缀名一般为.a。动态库与之相反在编译链接时并没有把库文件的代码加入到可执行文件中而是在程序执行时由运行时链接文件加载库这样可以节省系统的开销。动态库一般后缀名为.sogcc在编译时默认使用动态库。 原文链接https://blog.csdn.net/daide2012/article/details/73065204 21、如何用C语言实现C的类 1由于C语言是面向过程而C是面向对象所以在定义数据时可以用C的结构体成员充当C类的成员定义 2由于结构体只能定义变量不能够定义函数所以通过函数指针的方法来实现其类函数的定义。 参考链接https://blog.csdn.net/forever__1234/article/details/61429870 结语 C语言是嵌入式的基础像我总结的这些面试题都是去年我去面试好几家公司所遇到的常见面试题。因此在面试找工作的那段时间归纳总结常遇到过的面试题并将不会的知识点进行检索归纳是很必要的。这样做的话可以提升自己的知识面面试时就能从容面对不同面试官各种不同的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己怎样制作公司网站php企业网站源码

随着蓝牙技术的不断演进和发展,蓝牙已经从单一的传统蓝牙技术发展成集传统蓝牙。高速蓝牙和低耗能蓝牙于一体的综合技术,不同的应用标准更是超过40个越来越广的技术领域和越来越多的应用场景,使得目前的蓝牙技术成为包含传感器技术、识别技术…

江苏品牌网站建设电话wordpress小工具编辑器

Hadoop的介绍Hadoop最早起源于Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题. 2003年、2004年谷歌发表的两…

公司网站做推广支出分录涿州二康

原文出处http://bijian1013.iteye.com/blog/1895412 一.for update 和 for update nowait 的区别 首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制,虽然这时候有可能另外一…

怎样才能做一个手机网站做交互的设计网站

BUUCTF:https://buuoj.cn/challenges 题目描述: 得到的 flag 请包上 flag{} 提交。 密文: 得到一个attachment.zip文件 解题思路: 1、解压attachment.zip,得到222.zip文件。尝试解压需要密码,使用Ziperello爆破密码…

大同泰瑞集团建设有限公司网站宁波seo关键词费用

在处理机器学习或深度学习问题时,损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低,模型越好。交叉熵损失是最重要的成本函数。它用于优化分类。对交叉熵的理解取决于对 Softmax 激活函数的理解。 一、softmax激活函数 激活…

长沙营销型网站建设公司网站建设里怎么写文章

android版本:android-11.0.0_r21http://aospxref.com/android-11.0.0_r21 android手机的挂载非常复杂。这篇文章针对emulated存储,介绍它的挂载过程。 一、为什么emulted存储要用很复杂的挂载方式 1, emulted存储是什么 android早期&#…

秦皇岛做网站优化价格惠州建设局网站

目录 Flask MQTT 实现消息订阅发布准备开始1.创建Flask项目2创建py文件:mqtt_demo.py3.代码实现4.项目运行5.测试5.1 测试消息接收5.2 测试消息发布6、扩展 Flask MQTT 实现消息订阅发布 准备 本次项目主要使用到的库:flask_mqtt pip install flask…

自己做的网站本地虚拟上传可以做网站吗

os包中实现了平台无关的接口,设计向Unix风格,但是错误处理是go风格,当os包使用时,如果失败之后返回错误类型而不是错误数量.os包中函数设计方式和Unix类似,下面来看一下.func Chdir(dir string)…

高性能网站开发 书籍个人网站推广方法

并行运行hbase删表,建表操作,多个表多个region,导致hbase挂掉。查看日志:从日志中可以看出GC时间过长导致zookeeper连接超时,master退出。(是master退出而不是regionserver退出是因为进行的操作是建表,删表…

南坪网站建设马鞍山网站建设文

文章目录 🍪一、前言🍩1、C简介🍩2、C关键字 🍪二、命名冲突🍪三、命名空间🍩1、命名空间定义🍩2、命名空间的使用 🍪四、C输入&输出 🍪一、前言 本篇文章是《C 初阶…

给别人做网站挣钱wordpress企业主题免费

参考网址:http://www.runoob.com/design-pattern/singleton-pattern.html 1.目的:保证一个类仅有一个实例,并提供一个访问它的全局访问点。(比如世界只有一个月亮,党只有一个主席) 2. 优点: 1、在内存里只有一个实例,减少了内存的开销&#x…

建聊天网站深圳网站建设开发公司哪家好

为什么是B树? 我们推导下,首先看下用哈希表做索引,是否可以满足需求。如果我们用哈希建了索引,那么对于如下这种SQL,通过哈希,可以快速检索出数据: select * from t_user_info where id1;但是这…

大学跳蚤市场网站建设哈尔滨制作企业网站

最近在回顾网络知识点的时候,发现华为数通有关报文格式及网络协议地图神仙网站,这里涵盖了各个协议层及每个协议层对应的协议内容,最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面,有对应的说明和解释&…

淮安企业网站眉山网站建设公司

在当今世界,Windows 应用程序对我们的工作至关重要。随着处理 PDF 文档的需求不断增加,将 ComPDFKit PDF 查看和编辑功能集成到您的 Windows 应用程序或系统中,可以极大地为您的用户带来美妙的体验。 在本博客中,我们将首先探索集…

网站建设电子书永久免费crm软件哪个好

监控无人机的开发涉及多个方面,涵盖硬件、软件和网络等领域。下面是一般情况下开发监控无人机系统的主要步骤: 确定需求和功能:明确您的监控无人机系统的目标和应用场景,确定需要的功能和特性,例如实时视频监控、目标…

建设专业网站运营团队夜蝶直播app下载安装

许多业务流程要求在将来某个日期安排事件。例如,在与客户进行初次销售联系后,我们可能希望在将来的某个时间安排跟进电话。EasyNetQ可以通过其Future Publish功能帮助您实现此功能。例如,这里我们使用FuturePublish扩展方法来安排未来一个月的…

网站建设教程资源学设计用什么笔记本电脑好

1 问题 屏幕旋转之后当前activity被finish了依然被拉起来 2 分析思路 不用finish函数,使用 android.os.Process.killProcess(android.os.Process.myPid()); 还是被拉起来了,然后采用 System.exit(0); 还是被拉起来了,然后我就看app的进程,有2个进程,当一个activity被finish…

西安门户网站新乡网页制作

来源:云头条作者:Paul Smith-Goodson是知名研究分析公司Moor Insights & Strategy的量子计算常驻分析师。英特尔公司正迅速取得进展,将超导量子计算测试芯片的量子位增加到更多数量:从7个量子位增加到17个量子位,现…

济南饰品行业网站开发山东闪电建站网

Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面…

网站导入链接营销网站建设收费标准

目录 初始化列表 定义 特点 必须使用初始化列表的成员变量 初始化顺序 隐式类型转换 示例 explicit关键字 初始化列表 Date::Date(const Date& d) {_year d._year;_month d._month;_day d._day; }Date::Date(const Date& d) :_year(d._year),_month(d._mon…