C语言中的指针基础

文章目录

  • 🍊自我介绍
  • 🍊地址
  • 🍊C语言中的指针


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群一名“创始团队·嘉宾” ,现在我来为大家介绍一下有关嵌入式方面的内容。在进入介绍之前,可能有一些小伙伴不了解易编程·终身成长社群;想要进一步了解社群的小伙伴可以点击下方链接自行跳转至关于社群的介绍:

易编程·终身成长社群介绍 :
https://blog.csdn.net/weixin_74300052?spm=1011.2266.3001.5343


🍊地址

  为了学习好指针我们需要搞明白一个知识:地址,什么是地址?我们需要搞明白。

地址:操作系统按照32bit的数据以字节为单位,对内存单元进行编号。这个编号我们叫做地址。

以32bit来说明:

首先将一个内存块分为32小块,每块占1bytes
我们知道:1bytes = 8bit; 1个十六进制数 = 4bit二进制数===>2个十六进制数 = 8bit二进制数
那么,第一个小块的地址就可以写为0x0000 0000 <==>0000 0000 0000 0000 0000 0000 0000 0000
之后以此类推到 0xffff ffff

在这里插入图片描述

  人性化一点的解释:我们可以学校的宿舍楼当做内存,而我们的宿舍就相当于是我们划分的小块,我们的宿舍号对应的就是我们的地址编号,我们里面住的人就可以当做是内存当中存放的数据。

🍊C语言中的指针

1、 内存的操作(读和写)

       writedata--------->ramreadram---------->data

2、C语言中内存分配方法
(1)通过操作变量名来实现

int a;
a = 100;               //读操作
printf("a = %d\n",a);  //写操作

(2)通过内存的地址来进行读写操作

int a;
内存地址的获得方法: &a规则:* + 地址:访问地址中的内存*(&a) = 100;(写操作)

代码演示:

#include <stdio.h>
int main()
{int a = 80;//写操作*(&a) = 66;//读操作printf("*(&a) = %d\n",*(&a)); //66
}

3、C语言的指针类型的定义方法

指针是用来保存地址的

a. 简介

数据类型 *指针变量名;
例如:
char * p;   //p的类型为char *
int * m;    //m的类型为int *
short * q;  //q的类型为short *

代码演示:

#include <stdio.h>
int main()
{int data1 = 0,data2 = 0;int * p = &data1;int * q = &data2;int sum = 0;printf("please input two data:");scanf("%d%d",p,q); //200 200printf("data1 = %d data2 = %d\n",data1,data2);// 200 200sum = *p + *q;printf("data1 + data2 = %d\n",sum); //300sum = *p - *q;printf("data1 - data2 = %d\n",sum); //0sum = *p * *q;printf("data1 * data2 = %d\n",sum);//40000sum = *p / *q;printf("data1 / data2 = %d\n",sum);//1return 0;
}

大家对这小节内容有什么疑问可以在评论区评论,博主和广大网友看到后会第一时间回复的

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

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

相关文章

099、Python 从网站上下载图片,并压缩发送到指定邮箱中

要实现从网站上下载图片&#xff0c;并压缩发送到指定邮箱中&#xff0c;可以按下面步骤进行编程。 一、从网络上下载图片&#xff1a; 这里我们使用requests 模块&#xff0c;requests 模块是一个非常流行的 HTTP 库&#xff0c;用于发送各种 HTTP 请求。 1、安装 pip ins…

论文阅读-《Distant Supervision for Relation Extraction beyond the Sentence Boundary》

文章提出了首个将远程监督应用于跨句子关系提取的方法&#xff0c;通过整合句内和句间关系&#xff0c;利用图表示和多路径特征提取提高了准确性和鲁棒性。 摘要 文章提出了一种新的方法&#xff0c;用于在远程监督下进行跨句子的关系抽取。这种方法利用图表示来整合依赖和话…

七天学Flutter(day0)

前言 上周把这周的需求提前干完了&#xff0c;准备突击学习一下flutter。其实早就年初就想学习flutter&#xff0c;但是种种原因没有学习。这里不过多概述。 基础情况&#xff1a;没有学过dart以及flutter&#xff1b;有一定compose、kotlin安卓原生基础 O&#xff1a;坚持打卡…

常用传感器讲解十五--触摸传感器(KY-036)

常用传感器讲解十五–触摸传感器&#xff08;KY-036&#xff09; 具体讲解 这个比较简单&#xff0c;就是触摸后给个信号 电路连接 在Arduino上将VCC引脚连接到5V。 将GND连接到Arduino的GND。 将OUT连接到Arduino上的D2 代码实现 void setup() {pinMode(2, INPUT);Seri…

spark 3.0.0源码环境搭建

环境 Spark版本&#xff1a;3.0.0 java版本&#xff1a;1.8 scala版本&#xff1a;2.12.19 Maven版本&#xff1a;3.8.1 编译spark 将spark-3.0.0的源码导入到idea中 执行mvn clean package -Phive -Phive-thriftserver -Pyarn -DskipTests 执行sparksql示例类SparkSQLExam…

vue使用crypto-js对数据进行加解密

vue使用crypto-js对数据进行加解密 1, 创建DES加密和解密方法 // 导入 import CryptoJS from crypto-js/** * DES加密函数 * data: 需要加密的数据 * key: 加密的key * */ export function encrypt(data, key 123456) {// 将密钥转换为UTF-8编码的字节数组key CryptoJS.enc…

Kotlin 的优势:现代编程语言的卓越选择

文章目录 简洁与优雅的语法空安全特性函数式编程&#xff0c;支持高阶函数、lambdaKotlin 内联函数与 Java 的互操作性强大的类型推断协程支持lazy 委托object 单例模式区间表达式现代的开发工具支持 本文首发地址 https://h89.cn/archives/301.html 最新更新地址 https://gite…

科学设计程序员面试内容,破解“八股文”之弊

“八股文”在实际工作中是助力、阻力还是空谈&#xff1f; 作为现在各类大中小企业面试程序员时的必问内容&#xff0c;“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢&#xff1f;有IT人士不禁发出疑问&#xff1a;程序员面试考…

使用UsageStatsMannager获取应用使用时长

摘要 UsageStatsManager.queryEventStats:一般是用来根据最近时间戳找到top进程 UsageStatsManager.queryAndAggregateUsageStats:获取聚合后的应用前台使用时长 UsageStatsManager.queryEvents:自己计算每个进程的运行时长和启动次数(包含Activity和Service ForeGround 事件…

Lombok注解之@SneakyThrows作用

Lombok注解之SneakyThrows作用 读法 [ˈsniːki] [θroʊz] 悄悄的 抛出顾名思义&#xff0c;它能够自动偷摸的为咱们的代码生成一个try…catch块&#xff0c;并把异常向上抛出来。 使用 SneakyThrows的使用范围&#xff1a; 只能作用在方法和构造函数之上。从源码就可以…

C# dataGridView 去掉左边多出来空列

1.问题 在使用winform做界面程序时&#xff0c;dataGridView控件创建好后&#xff0c;左侧会多出一列为空&#xff0c;如何删除呢 2.解决方法 你可以在属性窗口中进行设置 如图&#xff1a; 将RowHeadersVisible 属性设置为False 或者代码设置 this.dataGridView1.RowHea…

idea常用免费插件(持续更新欢迎补充)

Chinese (Simplified) Language Pack&#xff1a;中文插件Grep Console&#xff1a;支持显示ascii颜色CodeGlance&#xff1a;编辑区缩略图插件Json Parser&#xff1a;验证和格式化JSON字符串MybatisX:Mybatisplus插件Translation&#xff1a;翻译CheckStyle&#xff1a;Java代…

我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱”

大家好&#xff0c;我是程序员鱼皮。前段时间我们上线了一个新软件 剪切助手 &#xff0c;并且针对该项目做了一个官网&#xff1a; 很多同学表示官网很好看&#xff0c;还好奇是怎么做的&#xff0c;其实这个网站的背后还有个有趣的小故事。。。 鱼皮&#xff1a;我们要做个官…

playbooks 分布式部署 LNMP

1、环境配置 ansible 服务器 192.168.10.10nginx 服务器 192.168.10.20mysql 服务器 192.168.10.21php 服务器 192.168.10.22 2、安装 ansble #192.168.10.10节点 yum install -y epel-release #先安装 epel 源 yum install -y ansible配置主机清单 …

uniapp App判断是否安装某个app

参考文档&#xff1a;HTML5 API Reference 项目中需要判断是否安装了uber&#xff0c;这里拿uber举例 &#xff0c;判断是否安装uber if (plus.runtime.isApplicationExist({pname: com.ubercab.eats, //Android平台通过pname属性&#xff08;包名&#xff09;查询action: ub…

计算机毕业设计-程序论文-基于web线上项目竞标平台的开发与实现

本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven 此文章为本人亲自指导加编写&#xff0c;禁止任何人抄袭以及各类盈利性传播&#xff0c; 相关的代码部署论文ppt代码讲解答辩指导文件都有可私要 项目源码&#xff0c;请关注❥点赞收藏并私信博主&#x…

001.精读《Big Data: A Survey》

文章目录 1. 引言2. 精读2.1 摘要2.2 背景2.4 相关技术2.5 相关流程2.6 应用场景 3. 总结 1. 引言 大数据精读周刊首次与大家正式见面。我们每周将精读并分析几篇精选文章&#xff0c;试图讨论并得出结论性观点。我们的目标是通过深入探讨&#xff0c;帮助大家更好地理解大数据…

阿里玄铁处理器涉及的相关技术居然有PHP

其实跟PHP没啥关系&#xff0c;也可以说有点关系 指令集说明&#xff1a; RISC-V 指令集是由美国加州大学伯克利分校&#xff08;University of California, Berkeley&#xff09;的研究人员开发的。该项目主要由Krste Asanović教授领导&#xff0c;并且得到了计算机体系结构…

el-ui 导航菜单重复点击报错问题解决

重复点击菜单报错 NavigationDuplicated: Avoided redundant navigation to current location: xxxxx 解决办法: 路由文件.js最下边加入这段代码 //NavigationDuplicated: Avoided redundant navigation to current location 解决重复点击路由报错 // 重写路由push方法 const…

springboot+vue+mybatis线上选课系统+PPT+论文+讲解+售后

在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对学生选课信息管理的提升&#xff0c;也…