C语言小结一波!!!-创新互联
C语言基础课程主要是对基础知识的了解认识,这部分很多都学过了,不多说了。学习嵌入式,首先要有扎实的C语言基础,这对后面的学习很有帮助。
成都创新互联是一家专业提供牡丹江企业网站建设,专注与成都做网站、成都网站设计、H5高端网站建设、小程序制作等业务。10年已为牡丹江众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。C语言高级侧重于指针的学习。当然对于编译环境也要选着合适的。linux操作系统的使用对我们的学习很有用的。指针是我们学习嵌入式的重点部分。
指针:指针就是存储另⼀个变量的内存地址的⼀种数据类型,即指针的内容就是另⼀个变量的内存地址 。指针本⾝也是⼀个变量,所以指针也是有⾃⼰的地址,但是这个变量有点特 殊,存放的是另⼀个变量的地址。
1. 指针的运算 指针的运算,对指针变量(指针变量存储的数据 ( 数据是地址 ) )进⾏运算 px 表⽰指针变量 + (加法): px + n :指针 px 向地址增⼤的⽅向移动 n 个数据(指针指向的数据类型) ⼤⼩的地址 如: int * px = 0x10 px + 5 == 0x10 + sizoef(int)*5 = 0x10 + 0x14 == 0x24 - (减法): px - n :指针 px 向地址减⼩⽅向移动 n 个数据⼤⼩的地址 如: double * px = 0x30 px - 3 = 0x30 - 3*sizeof(double) = 0x30 - 0x18 = 0x18 特殊: px1 - px2 :指针减指针,指两个地址间间隔多少个数据 如: double * px1 = 0x10, *px2 = 0x20; px2 - px1 = (0x20 - 0x10)/sizeof(double) = 0x10 / 8 = 2 *( 乘法 ) : px * n--- 错误 /( 除法 ) : px / n--- 错误 ++ : px++ :先使⽤指针变量 px ,然后 px = px + 1 ,向地址增⼤⽅向移动⼀个数 据类型⼤⼩地址存储到 px 中 ++px :先 px = px+1, 向地址增⼤⽅向移动⼀个数据类型⼤⼩地址存储到 px 中,然后再使⽤ px 指针 2.指针与数组 数组:在内存中,数组的数据元素是⼀段连续的空间,在这段空间中每 个元素占⽤对应的⼤⼩,元素与元素之间相连3.指针与⼆维数组
当 a +1 :表⽰移动⼆维数组的元素 ( ⼀维数组 ) 的大小地址 当 a[0] + 1 :表⽰移动⼀维数组的元素 ( 普通数据 ) 的大小地址 4. 数组指针 是⼀个指针,存储地址,⽤于存储整个数组的地址,指针的类型为数组地址 类型,指向整个数组 定义: 数组元素类型 (* 指针名 ) [ 数组⼤⼩ ] 5、函数指针: ⽤于存储函数地址类型的指针变量 返回类型 函数名 ( 指向类型 * 指针名 ); 由于函数的返回值,参数列表的类型都各不相同 , 函数指针只能存储⼀种函数 的地址 函数指针定义: 返回值类型 (* 函数指针名 )( 参数列表 ); 函数指针使⽤: ---- 调⽤函数指针对应的函数 函数指针名 ( 实际参数 ); 6、空指针、野指针、万能指针 野指针: 指针存储的地址不明确 ( 指向的空间不清楚 -- 没有分配不能使⽤ ) ,这个地 址对应的空间是否能够在程序中具有操作不清楚 空指针: 指针记录的地址是 0x0 这个地址就叫做空指针,系统规定 0x0 这个地址不 允许任何程序进⾏访问 NULL === 0x0 7、万能指针: 不管是哪种类型的指针,都是⽤来存储地址,内存地址⽤多少位来表⽰地址 早就规定好了,每个地址都是相同的位数 32 位机器⽤ 4B 来表⽰地址 64 位机器⽤ 8B 来表⽰地址 void :空类型,不存在这个对应的类型⼤⼩ void:空指针类型,指针类型,⼤⼩就是4B/8B,存储地址 void 叫做万能指针(指向任意类型),可以存储任意类型的地址 ( 指针值 ) , 但是不能取 * 取对应地址中的值 由于是万能指针,可以存储任意类型的地址,也可以把指针值赋值给其他任 意类型的指针变量 8、动态内存 1. 申请空间 指针变量 = malloc( 字节⼤⼩ ) 注意:如果你要按照某种类型去使⽤申请的空间,那你的指针变量就应 该是对应的类型,如:按照整型去访问这个空间,指针应该是int类型的地址。 * 指针变量 : 就是访问对应的空间 如 : int * p = malloc(20) *p;----- 访问 4 个字节,按照整数 *(P+1);------- 访问 p 后的 4 个字节,按照整数 2. 释放空间 free( 空间⾸地址 );--- 释放对应空间 注意:申请了空间⼀定记得⾃⼰释放,系统不会帮我们释放你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:C语言小结一波!!!-创新互联
标题URL:http://pwwzsj.com/article/dojcge.html