指针变量

指针变量的操作通常分两步
      1.把指针变量和正确的普通变量配对
      2.通过指针变量操作普通变量
如果在一条语句中声明多个指针变量需要在每个指针变量名前加 * 
NULL 表示空地址 ,数值是 0 
任何变量存储空间的地址都不可能是空地址
所有没有配对普通变量的指针变量都应该记录空地址
既没有记录有效地址又没有记录空地址的指针叫做野指针
程序中不应该出现野指针
指针变量在程序运行过程中可能发生复杂的变化
在我们的计算机中 所有指针变量都是 4 个字节大小 和整数一样
通过指针变量所能找到的存储位置的大小由指针变量的类型决定
void* 指针不指定配合的存储空间类型
这种指针变量用来记录来源不明的地址数据
这种指针在使用前必须首先进行类型转换

指针可以作为函数的形参使用,效果和数组做形参完全一样
指针变量做形参时函数内部可以根据这个指针找到很多存储位置
函数内部对这个存储位置的修改在函数结束后都会保留
尽量针对数据的身份进行编程而不是针对数据的存储位置编程
void * 指针通常作为函数的形参使用
指针变量也可以作为函数的返回值使用

如果希望函数的返回值表示另外某个变量的存储位置则需要把返回值声明成指针类型
局部变量的地址不可以赋值给返回值变量
地址数据(指针变量)只能参与如下三种数学计算
地址 + 常数 (有单位)
地址 - 常数 (有单位)
地址 - 地址 
前两中常数有单位,表示多个变量的大小,变量的类型取决于指针的类型
最后一种计算中结果也是有单位的,也表示多个变量大小,变量类型由指针类型决定
一旦数组名称给指针变量赋值后,它们就可以互相混用了
在以下情况下有 区别 
1.数组名称不可以被赋值,指针变量可以
2.对数组名称进行 sizeof 计算得到整个数组的大小,对指针进行 sizeof 计算得到指针变量的大小
3.对它们取地址结果不同
数组名称取地址数值不变,类型变成二维数组
对指针变量取地址的结果和指针变量中记录的地址没有关系
二级指针变量可以记录普通指针变量的地址


可以使用指针变量做循环变量操作数组中每一个存储位置
声明指针变量时也可以使用 const 关键字
一种使用方法是 : const int *p_num;
指针本身可以修改但不可以通过指针修改配对的普通变量
另一种使用 const 关键字声明指针变量的方法如下
: int * const p_num;
指针本身不可以修改但是可以通过它修改配对的普通变量
const 指针常用于表示函数的指针的形参

1.程序在内存中的分段
2.字符串


练习

1.使用指针变量对一个数组中的所有数据颠倒位置
2.使用指针变量检查一个数组中是否包含另外一个数组










极化码(Polar Code)是由土耳其科学家Erdal Arıkan在2009年提出的一种新型纠错编码技术。它通过利用信道的极化现象,将虚拟信道分为误码率接近0和接近1/2的两类。在编码设计中,数据被放置在误码率极低的信道上,从而实现高效的数据传输。极化码的主要优势在于其理论编码容量能够达到香农限,并且构造方法较为简单。 MATLAB是一种功能强大的数学计算和编程工具,广泛应用于科学研究和工程领域。在极化码的研究中,MATLAB可用于构建编码和解码算法,模拟数据在不同信道条件下的传输效果,验证理论性能,并优化相关参数。 SC(Successive Cancellation,逐位取消)译码是极化码的基本解码方法。它从最可靠的比特开始,依次解码每个虚拟信道,且每个比特的解码结果会影响后续比特的解码,因为它们之间存在依赖关系。虽然SC译码的实现较为简单,但其计算复杂度较高,随着码长的增加,解码时间会线性增长。 SCL(Successive Cancellation List,逐位取消列表)译码是SC译码的改进版本。它通过引入列表机制,同时处理多个路径,从而增强了错误校正能力,并在一定程度上降低了错误率。与SC译码相比,SCL译码虽然需要消耗更多的计算资源,但能够提供更好的性能。 一个完整的MATLAB仿真资源通常包含以下内容: 编码模块:用于实现极化码的生成,包括码字构造和极化矩阵操作等。 信道模型:用于模拟各种通信信道,例如AWGN(加性高斯白噪声)信道或衰落信道。 SC/SCL译码模块:包含SC译码和SCL译码的算法实现。 误码率(BER)计算:通过比较发送和接收的码字,计算误码率,以评估编码性能。 性能曲线绘制:绘制误码率与信噪比(SNR)之间的关系曲线,展示不同译码策略的性能差异。 使用说明:指导用户如何运行仿真,理解代码结构,以及如何调整参数以进行自定义实验。 代码注
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值