动态库和静态库的区别和联系(简述静态库与动态库的概念及差异)

动态库和静态库的区别和联系(简述静态库与动态库的概念及差异)p class f center p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1030%2Fcb84a71cj00sm5vla00bed000u0013zp.jpg&thumbnail=660x&quality=80&type=jpg"/><br/><br/></p><p id="34O79BTK">一、C语言基本常识<br/><strong>1、</strong>语言由函数组成</p><p id="34O79BTL"><strong>2、</strong>main是程序入口</p><p id="34O79BTM"><strong>3、</strong>C语言中不能出现中文或中文字符 (注释和字符串除外)</p><p id="34O79BTN"><strong>关键字 :</strong>C语言提供表示特殊含义的单词。</p><p id="34O79BTO">特点 : 1、 全部小写 ;2、在Xcode中是紫褐色。</p><p id="34O79BTP"><strong>标识符 :</strong>程序员自己在代码中为某些东西起的名字。</p><p id="34O79BTQ">规则 : 1、字母、数字、下划线组成;2、严格区分大小写;3、不能以数字开头;4、不能与关键字重名。</p><p id="34O79BTR">规范:驼峰标识。</p><p id="34O79BTS"><strong>注释:</strong>对代码的解释说明,它是程序员看的,它不参与编译。</p><p id="34O79BTT">包括单行注释 和 多行注释(多行注释可以嵌套单行注释,但多行注释不能嵌套多行注释)。</p><p id="34O79BTU"><strong>数据:</strong>存储时长:静态数据:存储在硬盘上的数据;动态数据:内存中的数据。</p><p id="34O79BTV"><strong>常量:</strong>不可以改变的量。</p><p id="34O79BU0"><strong>变量:</strong>可以改变的量。</p><p id="34O79BU2">二、数据类型</p><p id="34O79BU3"><strong>1、基本数据类型</strong></p><p id="34O79BU4"><strong>int</strong>——4字节——%d %i</p><p id="34O79BU5"><strong>float</strong>——4字节——%f</p><p id="34O79BU6"><strong>double</strong>——8字节——%lf</p><p id="34O79BU7"><strong>char</strong>——1字节——%c</p><p id="34O79BU8"><strong>枚举:</strong>枚举的本质是整型(enum)</p><p id="34O79BU9"><strong>场合:</strong>当某个东西只有几个固定取值的时候</p><p id="34O79BUA"><strong>特点:</strong>先定义枚举类型,根据枚举类型定义枚举变量</p><p id="34O79BUB"><strong>2、构造类型</strong></p><p id="34O79BUC"><strong>(1)数组:</strong>用来从年初相同数据类型的多个数据的集合</p><p id="34O79BUD">定义:数据类型 数组名称 [元素个数]</p><p id="34O79BUE">遍历:把所有的元素都拿出来看一下(循环)</p><p id="34O79BUF"><strong>(2)结构体:</strong>多个数据放在一起可以表示特定的含义组成结构体</p><p id="34O79BUG">特点:先定义结构体类型,然后定义结构体变量</p><p id="34O79BUH">结构体与函数:如同基本数据类型与函数的关系</p><p id="34O79BUJ">三、指针:指针就是地址</p><p id="34O79BUK"><strong>1、指针变量:</strong>用来存放地址的变量。</p><p id="34O79BUL">(1)指针只有初始化了才可以访问它所指向的存储空间;</p><p id="34O79BUM">(2)如果一个指针没有初始化,它里面是垃圾值,称为野指针;</p><p id="34O79BUN">(3)不能直接赋值一个整形数。</p><p id="34O79BUO"><strong>2、基本数据类型的指针:</strong>指向基本数据类型的指针。</p><p id="34O79BUP"><strong>格式:</strong>数据类型 * 指针变量名称。</p><p id="34O79BUQ"><strong>3、结构体的指针:</strong>指向结构体类型的指针。</p><p id="34O79BUR"><strong>格式:</strong>结构体类型 * 指针变量名称。</p><p id="34O79BUS">访问其所指向的结构体成员方式; (*指针变量名称).成员名称;指针变量名称-&gt;成员名称。</p><p id="34O79BUT"><strong>4、数组指针:</strong>指向数组的指针;</p><p id="34O79BUU"><strong>格式:</strong>所指向的数组的数据类型 (*指针变量名称)[所指向的数组的元素个数]。</p><p id="34O79BUV">这种指针与二位数组名是等价的。</p><p id="34O79BV0"><strong>5、函数指针:</strong>指向函数的指针。</p><p id="34O79BV1"><strong>格式:</strong>所指向函数的返回值类型(*指针变量名称)[所指向函数的形参列表]。</p><p id="34O79BV2">通过函数指针调用函数;(*指针变量名称)(实参列表);指针变量名称(实参列表)。</p><p id="34O79BV4">四、运算符</p><p id="34O79BV5"><strong>1、算数运算符</strong></p><p id="34O79BV7"><strong>2、赋值运算符</strong></p><p id="34O79BV9"><strong>3、自增自减运算符</strong></p><p id="34O79BVA">++a , a++</p><p id="34O79BVB">--a , a--</p><p id="34O79BVC"><strong>4、sizeof运算符:</strong>用来计算变量、常量、数据类型所占用存储空间的字节数</p><p id="34O79BVD">sizeof(常量) sizeof常量</p><p id="34O79BVE">sizeof(变量) sizeof变量</p><p id="34O79BVF">sizeof(数据类型)</p><p id="34O79BVG"><strong>5、逗号运算符</strong></p><p id="34O79BVH">1、运算顺序是从左到右</p><p id="34O79BVI">2、逗号表达式的运算结构为最后一个表达式的值</p><p id="34O79BVJ"><strong>6、关系运算符</strong></p><p id="34O79BVL"><strong>7、逻辑运算符</strong></p><p id="34O79BVN"><strong>8、三目运算符</strong></p><p id="34O79BVO">条件表达式 ? 结果1 : 结果2</p><p id="34O79BVP">优先级:一般优先级越高越先进行计算</p><p id="34O79BVQ">结合方向:当优先级相同时,计算方向(从左到右,从右往左)</p><p id="34O79BVS">五、 流程控制:控制程序的执行流程</p><p id="34O79BVT"><strong>1、顺序结构:</strong>按照从上到下的顺序执行</p><p id="34O79BVU"><strong>2、分支结构:</strong>相当于岔路口,当条件满足的时候就执行某段代码</p><p id="34O79BVV"><strong>(1)if 语句:</strong></p><p id="34O79C00">◎ if 必须以if 开头</p><p id="34O79C01">◎ if 可以有多个else if</p><p id="34O79C02">◎ if 语句最多有一个else</p><p id="34O79C03">◎ if 语句中对多只有一个代码块会被执行</p><p id="34O79C04">◎ 如果有 else 那么必然有一个代码块会被执行</p><p id="34O79C05"><strong>(2)switch 语句:</strong>当变量与否个常量相等时执行这个常量所对应代码块中的语句</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1030%2F97d34e5ej00sm5vjs0004d00077006gp.jpg&thumbnail=660x&quality=80&type=jpg"/><br/><br/></p><p><blockquote id="34O79C1M"><strong>注意点:</strong>1、仅支持整型数;2、case 后面只能是常量或常量表达式;3、case 后面的常量的值不能相同;4、结束条件 遇到break 或 "}"。<br/></blockquote></p><p id="34O79C0A"><strong>3、循环结构:</strong>当条件满足就会一直执行循环体中的代码,直到条件不再满足为止</p><p id="34O79C0B"><strong>(1)while 语句:</strong>当条件满足的时候就执行while后面大括号中的语句</p><p id="34O79C0C"><strong>(2)do while:</strong>循环体中代码至少执行一次</p><p id="34O79C0D"><strong>(3)for语句:</strong></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1030%2Fed8f19baj00sm5vjy0005d000b40054p.jpg&thumbnail=660x&quality=80&type=jpg"/><br/><br/></p><p id="34O79C0H"><strong>(4)break:</strong>1、在switch语句中用来结束switch语句;2、用在循环结构中,用结束当前的循环语句。</p><p id="34O79C0I"><strong>(5)continue:</strong>只能用在循环结构中,跳过本次循环体重continue后面的语句,进入下一个条件判断。</p><p id="34O79C0K">六、函数 : 完成特定功能的代码段</p><p id="34O79C0L"><strong>定义格式:</strong></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1030%2F303c3042j00sm5vk40002d0007t002np.jpg&thumbnail=660x&quality=80&type=jpg"/><br/><br/></p><p id="34O79C0P"><strong>函数声明:</strong>告诉编译器该函数已经存在了(函数的声明可以有多个,定义只能有一个)。</p><p id="34O79C0Q"><strong>函数参数:</strong></p><p id="34O79C0R">1、基本数据类型作为函数参数传递是值传递;</p><p id="34O79C0S">2、数组作为函数参数传递是地址传递;</p><p id="34O79C0T">3、指针作为函数参数传递是地址传递;</p><p id="34O79C0U">4、结构体作为函数参数传递与基本数据类型一致。</p><p id="34O79C0V"><strong>函数返回值:</strong>函数完成功能后要返回给主调函数中的数据。</p><p id="34O79C10">1、返回值的类型必须与返回值的类型一致;</p><p id="34O79C11">2、一个函数只能有一个返回值;</p><p id="34O79C12">return 作用:返回值给主调函数,结束函数。</p><p id="34O79C14">七、预处理指令:在编译之前需要进行解析处理的指令</p><p id="34O79C15"><strong>1、宏定义:</strong></p><p id="34O79C16">不带参数的宏定义:在编译之前,使用宏名后面值,替换代码中所有出现宏名标识的地方</p><p id="34O79C17">带参数的宏定义:把参数带入宏名表达式中,然后替换宏调用的地方</p><p id="34O79C18"><strong>2、条件编译:在编译的时候,当条件满足时就编译某段代码</strong></p><p id="34O79C19">#if开头 #elif #else #endif结尾</p><p id="34O79C1A">#ifdef #endif</p><p id="34O79C1B">#ifndef #endif</p><p id="34O79C1C"><strong>3、文件包含:</strong></p><p id="34O79C1D"><strong>#include</strong>——拷贝所包含的文件内容到#include指令所在地方。</p><p id="34O79C1E"><strong>#include " "</strong>——包含自己的文件。</p><p id="34O79C1F"><strong>#include &lt; &gt;</strong>——包含系统的头文件。</p><p id="34O79C1G"><strong>4、进制:</strong></p><p id="34O79C1H">十进制</p><p id="34O79C1I">二进制:0b 或0B</p><p id="34O79C1J">八进制:0——%o 或 %0</p><p id="34O79C1K">十六进制:0x或0X——%x或%X</p><p id="34O79C1L">位运算:&amp; | ^ ~ &gt;&gt; &lt;&lt;</p> 

讯享网
小讯
上一篇 2025-04-16 21:10
下一篇 2025-05-14 17:45

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/155204.html