C语言_第一轮笔记_指针

news2024/11/25 2:45:34

8.1 密码开锁

  • 地址和指针
    • 一般以变量所在的内存单元的第一个字节的地址作为他的地址
    • NULL的值为0,代表空指针
  • 指针变量的定义
    • 类型名 *指针变量名
    • 类型名指定指针变量所指向变量的类型
    • 指针声明符*在定义指针变量时被使用,说明被定义的那个变量是指针
    • 指针变量要先赋值再使用
p = &i;
p = 0;
p = NULL; // 空指针不指向任何单元
p = (int *)1732;
  • 指针的基本运算
    • 相同类型的指针能进行复制、比较和算数运算

8.2 角色互换

  • 指针作为函数的参数
    • 在实参和形参之间的数据传递是单向的值传递方式,调用函数不能改变实参指针变量的值,但可以改变实参指针变量所指向的变量的值
    • 只要在函数中改变*p的值,就改变了该存储单元的内容

冒泡排序

数组一旦被定义后内存空间就会被分配,也就是说数组名所代表的地址是不能改变的

  • 指针、数组和地址间的关系
    • 数组的基地址是在内存中存储数组的起始位置,他是数组中第一个元素的地址,因此数组名本身是一个地址及指针值
    • 指针是以地址作为值的变量,而数组名的值是一个特殊的固定地址,可以把它看作是指针常量
    • 不能改变指针常量a的值
    • 指针每一次加一减一,是加上或减去该指针所指向的那个变量数据类型的长度,即它所指向的存储单元所占用的字节数
    • 数组名可以使用指针形式,而指针变量也可以转换为数组形式
    • 指针相减表示他们两个之间数组元素的个数
p = a;
sum = 0;
for (i = 0; i < 100; i++)
{
	sum += p[i];
}
  • 数组名作为函数的参数
    • 当进行参数传递时,主函数传递的是数组a的基地址,数组元素本身不被复制

字符串压缩

  • 字符串和字符指针
    • 字符串常量是用一对双括号括起来的字符序列,通常被看作一个特殊的一维字符数组
    • 系统在存储一个字符串是先给定一个起始地址,连续存放该字符串中的字符
      在这里插入图片描述
      在这里插入图片描述
  • 常用的字符串处理函数
    • 字符串的输入输出
      • scanf
      • printf
      • gets
      • puts
  • 字符串的复制,连接和比较及其计算字符串长度的函数
    • 字符串复制函数char *strcpy(char *s1, char *s2,把字符串s2复制到s1。

    • 字符串连接函数strcat(s1, s2)s2接到s1后面

    • 字符串比较函数strcmp(s1, s2)在这里插入图片描述
      在这里插入图片描述

    • 字符串长度函数strlen(s1)
      在这里插入图片描述

  • 在应用标准库中的任何函数前,必须要提供函数原型#include <string.h>

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

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

相关文章

护眼台灯十大排名品牌有哪些?2024护眼台灯十大排名品牌推荐

在当今的教育环境中&#xff0c;学生们面临着相当沉重的学业压力。放学后&#xff0c;许多孩子便投入到无休止的作业之中&#xff0c;常常夜深人静时还未完成。作为家长&#xff0c;孩子的视力健康自然成为了我们心中的一块大石。夜间学习时&#xff0c;灯光的质量至关重要。标…

批量转换图片神器,支持tiff图片转换成png格式,图片高效转换

在数字图像处理领域&#xff0c;格式转换一直是关键且必要的环节。尤其对于设计师、摄影师、网站开发者等专业人士来说&#xff0c;能够快速、高效地将图片从一种格式转换为另一种格式&#xff0c;是提升工作效率和保障项目质量的关键。今天&#xff0c;我们荣幸地向您推荐一款…

低压配电室数字孪生实现区域内的无人值守

众所周知&#xff0c;电力设备的精益管控、精益检修与精益维护对于电网智慧化转型的重要性。因此数字孪生公司深圳华锐视点利用精湛的数字孪生、虚拟仿真、3D建模和图形图像技术&#xff0c;集成数据采集、监控预警、计划维护、数据分析、决策支持等核心模块&#xff0c;为电力…

从零开始构建gRPC的Go服务

介绍 Protocol Buffers and gRPC是用于定义通过网络有效通信的微服务的流行技术。许多公司在Go中构建gRPC微服务&#xff0c;发布了他们开发的框架&#xff0c;本文将从gRPC入门开始&#xff0c;一步一步构建一个gRPC服务。 背景 之前在B站看过一个gRPC教学视频&#xff0c;…

Linux进程控制(改)

Linux进程控制 进程 内核数据结构&#xff08;struct task_struct,struct mm_struct,页表&#xff09; 代码和数据 在Linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程 1.进程创建 ./程序fork&am…

GPS坐标转换为百度地图坐标并显示到百度地图上

百度地图有个坐标识取系统&#xff1a;https://api.map.baidu.com/lbsapi/getpoint/index.html&#xff0c;打开链接如下&#xff1a; 如上图&#xff0c;可以搜索某一个位置&#xff0c;然后会出现该位置的许多选择&#xff0c;选择一个就会显示出对应的百度地图的坐标&#x…

抖音小店正确的起店方法是什么?别再闭门造车了,快来学习!

大家好&#xff0c;我是电商糖果 随着抖音卖货的火爆的&#xff0c;开抖音小店的商家也越来越多。 很多没有电商经验的朋友就发现&#xff0c;想要起店非常难。 有的好一两个月了&#xff0c;都不出单。 糖果做抖音小店有四年时间了&#xff0c;也经营了多家小店。 这里就…

从零开始:如何进入IT行业

微信扫码体验我自己做的小程序&#xff08;很有意思哦&#xff5e;&#xff5e;【坏笑】&#xff09;&#xff1a; 随着科技的飞速发展&#xff0c;IT行业已经成为了许多人梦寐以求的职业之一。不过&#xff0c;对于那些没有任何相关经验或技能的人来说&#xff0c;进入这个领域…

坦克大战_java源码_swing界面_带毕业论文

一. 演示视频 坦克大战_java源码_swing界面_带毕业论文 二. 实现步骤 完整项目获取 https://githubs.xyz/y22.html 部分截图 启动类是 TankClinet.java&#xff0c;内置碰撞检测算法&#xff0c;线程&#xff0c;安全集合&#xff0c;一切皆对象思想等&#xff0c;是java进阶…

filetype: python中判断图像格式库imghdr替代库

引言 imghdr库是python中的一个内置库&#xff0c;用来判断图像原本格式的。自己一直有在用&#xff0c;不过近来看到这个库在python 3.13中会被移除。 自己感觉一直被python版本赶着走。这不找了好久&#xff0c;才找到一个替代库–filetype Python各个版本将要移除和可替代…

IoT数采平台4:测试

IoT数采平台1&#xff1a;开篇IoT数采平台2&#xff1a;文档IoT数采平台3&#xff1a;功能IoT数采平台4&#xff1a;测试 Modbus RTU串口测试 OPC测试 HTTP测试 MQTT透传测试 MQTT网关测试及数据上报 TCP / UDP 监听&#xff0c;客户端连上后发送信息&#xff0c;客户端上报数据…

C语言杂谈

努力扩大自己&#xff0c;以靠近&#xff0c;以触及自身以外的世界 文章目录 什么是定义&#xff1f;什么是声明&#xff1f;什么是赋值&#xff1f;什么是初始化&#xff1f;什么是生命周期&#xff1f;什么是作用域&#xff1f;全局变量&#xff1f;局部变量&#xff1f;size…

MySQL数据库(数据库连接池)

文章目录 1.批处理应用1.基本介绍2.批处理演示1.创建测试表2.修改url3.编写java代码 3.批处理源码分析 2.数据库连接池1.传统连接弊端分析2.数据库连接池基本介绍1.概念介绍2.数据库连接池示意图3.数据库连接池种类 3.C3P0连接池1.环境配置1.导入jar包2.将整个lib添加到项目中3…

云存储属性级用户撤销可追溯的密文策略属性加密方案论文阅读

参考文献为2018年发表的Traceable ciphertext-policy attribute-based encryption scheme with attribute level user revocation for cloud storage 贡献 本篇路提出了一个可追踪、实现属性级用户撤销&#xff08;删除用户的某一属性&#xff09;、支持密钥更新和密文更新、外…

图片二维码如何制作生成?常规图片格式的二维码制作技巧

图片是展示信息很常用的一种方式&#xff0c;而现在查看图片很多人会通过二维码的形式来展现&#xff0c;这种方式优势在于更加的灵活&#xff0c;能够通过一个二维码展示大量的图片内容。那么图片二维码是如何制作生成的呢&#xff1f; 想要快速的将图片转二维码使用&#xf…

mysql-FIND_IN_SET包含查询

如图所示&#xff0c;需要查询字段ancestorid中包含14的所有数据&#xff0c;使用FIND_IN_SET即可实现&#xff0c;不需要使用模糊查找like 示例sql&#xff1a; SELECT * FROM mt_fire_template WHERE FIND_IN_SET(14,ancestorid) 结果

【pysurvival Python 安装失败】

这个错误与 sklearn 包的名称更改有关&#xff0c;导致 pysurvival 在构建元数据时失败。现在&#xff0c;你需要修改 pysurvival 的安装文件以使用正确的 scikit-learn 包名 编辑安装文件&#xff1a;找到 pysurvival 的安装文件&#xff0c;可能是 setup.py 或 pyproject.to…

一文解析智慧城市,人工智能技术将成“智”理主要手段

长期以来&#xff0c;有关智慧城市的讨论主要围绕在技术进步方面&#xff0c;如自动化、人工智能、数据的公开以及将更多的传感器嵌入城市以使其更加智能化。实际上&#xff0c;智慧城市是一个关于未来的设想&#xff0c;其重要原因在于城市中存在各种基础设施、政治、地理、财…

华为OD面试手撕算法-合并排序数组

题目描述 本题是leetcode一道简单题&#xff1a;合并两个有序数组&#xff0c;但是对于时间和空间复杂度面试官明确给出了限制。 // 给定两个排序后的数组 A 和 B&#xff0c;其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法&#xff0c;将 B 合并入 A 并排序。 // 初始化…

【nc工具信息传输】

nc&#xff0c;全名叫 netcat&#xff0c;它可以用来完成很多的网络功能&#xff0c;譬如端口扫描、建立TCP/UDP连接&#xff0c;数据传输、网络调试等等&#xff0c;因此&#xff0c;它也常被称为网络工具的 瑞士军刀 。 nc [-46DdhklnrStUuvzC] [-i interval] [-p source_po…