嵌入式课程day13-C语言指针

目录

十、指针

10.1了解指针

10.2指针使用

10.2.1指针定义:

10.2.2指针读写操作:

10.2.3指针变量空间大小

10.2.4指针偏移:


十、指针

10.1了解指针

指针:是变量 ,存储地址编号的。

地址:内存按照 字节 进行编号,1个字节1个编号  4GB

一般地址编号用16进制表示  %p

空间:指针本身的空间  指针指向的空间

10.2指针使用

10.2.1指针定义:

指针类型 指针名;

指针类型:指针指向对象的类型 *        

指针定义的时候:* -- 是指针的标记

例子:

定义一个指针指向int型的空间,保存int型的地址。

 int * p;   // int *p;   int* p;

// 定义一个变量,变量名: p
定义一个指针指向double型空间,
double * q;

10.2.2指针读写操作:

练习1、定义一个指针指向int型的空间,保存int型的地址。

int a = 30;  // int型的空间  -- int型的地址 -- &a

定义一个指针指向a ,保存a的地址。

int * p;            

// 指针指向a ,保存a的地址

p = &a;    // p -- 指针本身的空间  *p --- 解地址 -- 指针指向的空间

#include<stdio.h>int main (void)
{int a = 30;int* p;p = &a;printf ("%p %p\n", p, &a);printf ("%d %d\n", *p, a);*p = 100;printf ("%d %d\n", *p, a);return 0;
}

10.2.3指针变量空间大小

4/8 个字节,   32位系统 -4个字节  64位系统 -- 8个字节  指针变量空间大小和指向对象类型没有系,

实质: 指针存地址编号的。

#include<stdio.h>int main (void)
{int* p;char* q;double* temp;int (*k)[3];printf ("%d %d %d %d\n", sizeof (p), sizeof (q), sizeof (temp), sizeof (k));  // 4 / 8printf ("%d %d %d %d\n", sizeof (*p), sizeof (*q), sizeof (*temp), sizeof (*k)); // 4 1 8 12return 0;
}

10.2.4指针偏移:

指针偏移和指针指向的对象类型有关,就以指针指向的对象类型为单位进行偏移。        

指针指向数组里面的数据进行偏移。

地址是常量 , 指针是变量,存储地址编号的。

int a[5] = { 5,78,9,100,34 };// 定义一个指针,指向数组里面的元素a[0],然后再进行偏移
int* p;// p指向a[0],保存a[0]的地址
p = a;    // p = &a[0];printf ("%p %p\n", p, p + 1);  // ----------------------------------------------------------------
char arr[] = { '2','4','5','6' };// 定义一个指针,指向数组里面的元素arr[2],然后再进行偏移
char* q;// q指向arr[2]
q = arr + 2;   // arr + 2  === &arr[2]printf ("%p %p %p\n", q - 1, q, q + 1);
#include<stdio.h>int main (void)
{int a[5] = { 5,78,9,100,34 };// 定义一个指针,指向数组里面的元素a[0],然后再进行偏移int* p;// p指向a[0],保存a[0]的地址p = a;    // p = &a[0];printf ("%p %p\n", p, p + 1);      // 偏移 - 4个字节 printf ("%p %p\n", &a[0], &a[0] + 1);char arr[] = { '2','4','5','6' };// 定义一个指针,指向数组里面的元素arr[2],然后再进行偏移char* q;// q指向arr[2]q = arr + 2;   // arr + 2  === &arr[2]printf ("%p %p %p\n", q - 1, q, q + 1);  // 偏移-- 1个字节  return 0;
}

练习:倒转数组,用指针的方式

#include<stdio.h>
main ()
{int a[] = { 10,9,8,7,6,5,4,3,2,1,0, };//定义指针指向首元素和尾元素int* first = a;int* last = &a[10];//定义中间变量用于交换int temp;//开始交换do{temp = *first;*first = *last;*last = temp;} while (++first <= --last);//输出检验int i = 0;for (i = 0; i < 11; i++){printf ("%d ", a[i]);}return 0;
}

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

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

相关文章

R语言机器学习与临床预测模型77--机器学习预测常用R语言包

R小盐准备介绍R语言机器学习与预测模型的学习笔记 你想要的R语言学习资料都在这里&#xff0c; 快来收藏关注【科研私家菜】 01 预测模型常用R包 常见回归分析包: rpart 包含有分类回归树的方法; earth 包可以实现多元自适应样条回归; mgev包含广义加性模型回归; Rweka 包中的M…

使用OpenGL ES简单实现一个特效

玩抖音的时候&#xff0c;刷到一个抖音红发GET特效&#xff0c;感觉实现起来应该不太难。 于是小试牛刀。以刷到的一个视频一帧为原图 抖音红发GET特效拍出来的效果为 我实现的效果为&#xff1a; 基于Android平台&#xff0c;以OpenGL ES为工具&#xff0c;开发了一个滤镜…

豆包MarsCode算法题:数组元素之和最小化

数组元素之和最小化 问题描述思路分析分析思路解决方案 参考代码&#xff08;Python&#xff09;代码分析1. solution 函数2. 计算 1 2 3 ... n 的和3. 乘以 k 得到最终的数组元素之和4. 主程序&#xff08;if __name__ __main__:&#xff09;代码的时间复杂度分析&#x…

WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇

WebRTC视频 01 - 视频采集整体架构 WebRTC视频 02 - 视频采集类 VideoCaptureModule WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇 WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇 WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇&#xff08;本文&#xff09; 一、前言…

ffmpeg 最强大的视频工具

文章目录 一、ffmpeg安装二、基本用法1、文件格式转换2、视频过滤器 filter3、剪切4、合并5、音频过滤器6、删除轨道7、简单应用&#xff1a;录屏 一、ffmpeg安装 windows下可以上官网 https://www.ffmpeg.org/download.html下载&#xff1a; 下载好后&#xff0c;解压缩&…

初识算法 · 位运算(2)

目录 前言&#xff1a; 判定字符是否唯一 丢失的数字 比特位计数 只出现一次的数字III 前言&#xff1a; ​本文的主题是位运算&#xff0c;通过四道题目讲解&#xff0c;一道是判断字符是否唯一&#xff0c;一道是只出现一次的数字III&#xff0c;一道是比特位计数&…

大数据新视界 -- 大数据大厂之 Impala 性能优化:基于数据特征的存储格式选择(上)(19/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

[产品管理-76]:延续是创新与颠覆式创新的比较

目录 一、概述 1、定义与特征 2、市场影响与竞争策略 3、实施难度与风险 4、案例分析 二、示例 1. 延续性创新示例 2. 创新示例 3. 颠覆式创新示例 一、概述 延续性创新与颠覆式创新是技术创新领域的两种重要策略&#xff0c;它们在多个方面存在显著差异。 以下是对…

JAVA学习日记(十五) 数据结构

一、数据结构概述 数据结构是计算机底层存储、组织数据的方式。 数据结构是指数据相互之间以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据&#xff0c;需要结合具体的业务场景来进行选择。 二、常见的数据结构 &#xff08;一&#xff09;栈 特点&…

自动化测试工具Ranorex Studio(三十)-代码模块中使用变量快照

为了在代码模块中使用数据连接器提供的值&#xff0c;你需要在代码中添加一个变量。使用右键菜单项’Insert Module Variable’。 添加一个新的变量到您的代码模块 指定变量名和默认值 通过添加一个新的变量&#xff0c;Ranorex Studio 会在光标位置插入一段新代码——由一个…

Python技巧:查询模块的版本号的方法

1,pycharm里面的 Python interpreter 或者 Python package 2&#xff0c;通过 __version_info__ import matplotlib print(matplotlib.__version_info__) 3&#xff0c;查看目录里面的 _version.py 文件

​​​​​​​15TS Series TVS 的解析

15TS Series 1500W Transient Voltage Suppresso指的是一系列高性能的瞬态电压抑制二极管&#xff08;Transient Voltage Suppressor&#xff0c;TVS&#xff09;&#xff0c;这些二极管由时源芯微&#xff08;TimeSource&#xff09;设计用于保护敏感的电子设备免受瞬态过电压…

Python学习从0到1 day27 Python 高阶技巧 ① 闭包

目录 一、闭包 作用 示例 二、nonlocal关键字 示例 三、atm取钱的闭包实现 四、闭包注意事项 优点 缺点 我陪你走了一段路&#xff0c;你最了解我不是吗 —— 24.11.11 一、闭包 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部…

python成长技能之网络编程

文章目录 一、初识Socket1.1 什么是 Socket?1.2 socket的基本操作1.3 socket常用函数 二、基于UDP实现客户端与服务端通信三、基于TCP实现客户端与服务端通信四、使用requests模块发送http请求 一、初识Socket 1.1 什么是 Socket? Socket又称"套接字"&#xff0c;…

[ACTF2020 新生赛]Upload 1--详细解析

信息收集 题目告诉我们是一道upload&#xff0c;也就是文件上传漏洞题目。 进入界面&#xff0c;是一个灯泡&#xff0c;将鼠标放在图标上就会出现文件上传的相应位置&#xff1a; 思路 文件上传漏洞&#xff0c;先看看有没有前端校验。 在js源码中找到了前端校验&#xff…

光伏设计软件怎么选?有哪些推荐?

在光伏电站的开发建设中&#xff0c;专业设计软件是提升电站能效、降低开发成本的重要工具。市场上存在许多优秀的光伏设计软件&#xff0c;能够通过还原现状和三维建模来呈现出最符合实际需求的设计方案&#xff0c;究竟该怎么选呢&#xff1f; -易用性&#xff1a;一些软件操…

刷题强训(day06) -- 大数加法、链表相加、大数乘法

目录 1、大数加法 1.1 题目 1.2 思路 1.3 代码实现 2、链表相加&#xff08;二&#xff09; 2.1 题目 2.2 思路 2.3 代码实现 3、大数乘法 3.1 题目 3.2 思路 3.3 代码实现 1、大数加法 1.1 题目 1.2 思路 这道题可以模拟列竖式相加解答&#xff0c; 将每一位都转…

雷池waf安装并部署防护站点

雷池waf安装并部署防护站点 最低配置要求 操作系统&#xff1a;Linux 指令架构&#xff1a;x86_64 软件依赖&#xff1a;Docker 20.10.14 版本以上 软件依赖&#xff1a;Docker Compose 2.0.0 版本以上 最小化环境&#xff1a;1 核 CPU / 1 GB 内存 / 5 GB 磁盘 写在前面 本文…

AI技术赋能电商行业:创新应用与未来展望

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《热点时事》 期待您的关注 引言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;技术正逐步渗透到各行各业&a…

【Linux】进程(状态)

大家好呀&#xff0c;我是残念&#xff0c;希望在你看完之后&#xff0c;能对你有所帮助&#xff0c;有什么不足请指正&#xff01;共同学习交流哦 本文由&#xff1a;残念ing原创CSDN首发&#xff0c;如需要转载请通知 个人主页&#xff1a;残念ing-CSDN博客&#xff0c;欢迎各…