初级指针【一】

news2024/11/15 20:01:18
    • 指针是什么?

2个要点:

指针是内存中一个最小单元编号,也就是地址。

平时口语中说的指针,通常指的是指针变量,是用来存放地址的·变量。

总结:指针就是地址,我们口语中说的指针指的是指针变量。

指针的大小是多少?

在32位机中指针的大小是4个字节

在64位机中指针的大小是8个字节

2.指针和指针类型

变量有整型、字符型、浮点型等,那么指针有没有不同的类型?

我们通常创建指针变量有下面几种方式

可以看出指针变量也是有类型的。

int* 类型的指针存放的是int 类型的指针

char* 类型的指针存放的是char类型的指针

……

……

指针类型的意义:

一个整型变量可以用字符字符指针存放吗

从编译器中看好像可以是吧,那么我们通过字符指针变量操控整型是怎么操控的

那么我们将a变为0,用字符指针我们怎么操作

3.野指针

概念:野指针就是指针的指向不可以知道

野指针的成因

  1. 指针没有初始化

  1. 指针越界访问

如何避免野指针

1.指针使用要初始化

2.小心指针越界

  1. 指针指向的地址被释放,及时放置NULL

  1. 避免返回局部变量的地址

  1. 指针使用前检查有效性

4.指针运算

指针+-整数

指针+-整数就是跳过多少该类型的数据

eg

指针-指针

指针-指针即地址-地址(前提条件两个指针指向同一区域)

指针-指针=两个指针之间元素个数(有可能为负的)

指针的关系运算

标准规定:

允许指向数组元素的指针与指针数组最后一个元素后面的那个内存位置的指针比较

不允许与指向第一个元素之前的那个内存位置的指针进行比较

5.指针与数组

数组名可以表示首元素的地址

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

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

相关文章

ZooKeeper分布式协调服务(节点分类、事件监听、java集成)

文章目录前言安装启动相关概念操作节点事件监听java客户端前言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xf…

序列化二叉树 - 剑指Offer困难

序列化二叉树 题目链接 请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为…

Alibaba Clould Tookit插件-IDEA实现一键部署

Alibaba Clould Tookit插件-IDEA实现一键部署 文章目录 前言说明使用 安装插件配置服务添加服务配置打包上传等内容 配置自动化配置命令配置文件上传前执行的命令 远程发布查看是否成功注意脚本 前言 本来一直使用jenkins后来坏掉了,别问,问就是老板…

(三分钟了解)处理外点(粗差)的方法--ransac和M估计

​ 编辑 添加图片注释,不超过 140 字(可选) 外点也即是我们所说的粗差,是因为在实际工程当中由于人为因素或者测量设备等因素造成的测量值与实际情况相比误差较大。然后从高斯分布的角度来说就是大于3σ以外的数据。本篇博客将…

STM32——OLED调试工具与显示屏

文章目录一、调试工具二、OLED简介三、硬件电路接线图四、OLED驱动函数五、源码OLED.cOLED.hOLED_Font.h一、调试工具 调试方式 串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息 显示屏调试:直接将…

ip综合实验

目录实验要求分析开始实施1,前期工作2,缺省路由配置3,hdlc封装4,ppp封装的pap认证5,ppp封装的chap认证6,构建MGRE环境nhrp协议7,RIP使内网互通水平分割关闭实验要求分析 1,如图为实…

2023前端二面高频vue面试题集锦

vuex是什么?怎么使用?哪种功能场景使用它? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。vuex 就是一个仓库,仓库里放了很多对象。其中 state 就是数据源存放地,对应于一般 vue 对象里面的 data 里面存放的数据…

Js es6 Promise理解和使用

js中的promise是一个异步编程的解决方案,语法层面上他是一个构造函数,名字为Promise()。 它的作用就是将一个任务task封装为一个Promise类的实例对象,这个对象会将任务自动运行并得到任务结果,而且在得到结果的过程中并不会影响到…

告诉你应该选择 openSUSE 的五大理由

导读多数的的桌面 Linux 用户都会选择三种发行版本:Debian/Ubuntu、Fedora 或者 Arch Linux。但是今天,我将给出你需要使用 openSUSE 的五大理由。相比其他的 Linux 发行版,我总能在 openSUSE 上看到一些令人耳目一新的东西。我说不太好&…

多普勒效应(CSDN_0003_20220909)

目录 1. 机械波的多普勒效应 2. 电磁波的多普勒效应 文章编号(CSDN_0003_20220909) 由于原文公式较多,所以本文部分内容以截图的形式分享给大家,如果需要电子版原文,可留言或私信。 但凡提高雷达原理和雷达信号处理&a…

【前端】Vue项目:旅游App-(2)TabBar:搭建TabBar、循环获取动态数据、相关工具封装

文章目录目标代码与过程静态htmlcss改成动态数据效果总代码修改或新建的文件tabbarData.jstab-bar.vueload_assetsApp.vue目标 有两种实现方式: 把数据写死(静态、直接写在html中)动态数据:封装、vite获取动态数据方法 代码与过…

python详解(6)——键盘鼠标操控术(娱乐篇)

目录 本文为原创作品,抄袭必究! 🏆一、前言 🏆二、pyautogui模块 🏆三、鼠标相关操作 🚩1、鼠标移动 🚩2、获取鼠标位置 🚩3、鼠标点击 🚩4、按松鼠标 🚩5、拖…

笔耕不辍,学习习惯?兴趣爱好?源于对真知的热爱?

干程序员工作、上班赚钱、读书写作、股票投资,加班加点、充满激情,吸金赚钱、养家糊口、为自由和梦想而奋斗,这是比较基础的。 但如果想着奋斗的过程中,充满干劲地做一件事,坚持下去,投入沉迷其中&#xf…

Docker入门介绍

一、Docker介绍 1、Docker是什么? Docker ,翻译过来就是码头工人. 虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行 环境,容器之间互相隔离。 Docker是一个开源的应用容器引擎&#xff0…

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake

Ubuntu Linux基本操作安装工具安装ROSg编译Cmake 1、进入到根目录 cd /2、回到当前工作空间 cd ~3、查看目录中的内容 lsll4、创建文件夹 mkdir 1235、删除文件夹 rm -rf 123/这里我们在输入要删除的文件夹名时,可以通过按tab键快速补全对应的文件夹名。 按两…

【寒假每日一题】洛谷 P1838 三子棋I

题目链接:P1838 三子棋I - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 小a和uim喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。 由于小a比较愚蠢&#xf…

《信号与系统实验》实验 3:信号时域抽样和恢复

文章目录 实验内容实验1:抽样定理验证实验f(t)间隔0.5s间隔1s间隔2s验证抽样定理实验2:信号恢复实验间隔0.5s间隔1s间隔2s抽样间隔对于信号恢复过程的影响DAC一阶保持器总结实验内容 实验1:抽样定

HTTPS协议的原理 --- RSA密钥协商算法

目录 一、TLS握手过程 二、RSA密钥协商握手过程 TLS第一次握手 TLS第二次握手 TLS第三次握手 TLS第四次握手 数字证书和CA机构 数字证书签发和验证流程 三、RSA 算法的缺陷 DH 密钥协商算法 一、TLS握手过程 上图简要概述来 TLS 的握手过程,其中每一个「框…

Morris遍历

1、引入 二叉树的遍历 递归实现的方式: public static class Node {public int value;Node left;Node right;public Node(int data) {this.value data;} }//每个节点都是被有限次访问,时间复杂度O(N),因为每次递归都要存储返回信息&#…