C语言之写一个修改数组内容的函数

问题代码:

在这里插入图片描述
函数ltrim是为了消除buf字符数组中左边空格,
memmove函数介绍
在这里插入图片描述
如果对c语言指针运用非常熟练的人,结合函数功能就会发现这个代码非常的傻逼,你会发现为什么需要返回,buf不用接收返回值,执行这个函数后buf中的内容就已经被改变。

正确的应该这样写:

在这里插入图片描述

收获与感悟:

1、我感觉在代码中,变量名与其所指代的值是key和value的关系,在需要value做运算与条件判断时,编译器或解释器就会进行根据key查找到value进行替换
例如:

int a=10;
char *str="你好世界\0"

这里我们可以看做两个c++中的pair结构,

[{key:"a",value:10},{key:"str",value:"字符串首地址”}
]

在这个的基础上我们理解指针做函数参数时,

func(str)

我们将key值为str的pair结构传入函数,在需要对value其进行操作时,如:

*str
*(str+1)

编译器或解释器将替换成value

*(0x12345)
*(0x1235+1)

ps:以上纯是自己的胡乱理解。

2、在第一张图中你们可以发现
buf=ltrim(buf),提示 “表达式必须是可修改的左值”,
1、可以浅显的理解为buf是 char *const 类型,明确buf的地址不能修改,但是这只能作为一个”偏方“记忆不能一个数组直接赋值给另一个数组,将一个指针赋给数组标识符,但这个将buf理解为char *const也是错误的。

char buf2[256]={'0'};
buf=buf2;//同样不被允许会触发报警

2、但其实我们需要明确buf指代的是数组,而数组是数组,指针是指针,数组可以被编译器转换为指针。
例如:

void ltrim(char str[]);

上面的函数应该会被预编译器替换为

void ltrim(char *str)

而指针不能转换为数组,所以在第一张图中
就算buf可以被修改也是不允许的这样写的。

以上纯属个人理解,大概都是问题,不要盲目相信

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

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

相关文章

第二十七章 Vue异步更新之$nextTick

目录 一、概述 二、完整代码 2.1. main.js 2.2. App.vue 一、概述 需求:编辑标题, 弹出显示编辑框自动聚焦 1. 点击编辑,显示编辑框 2. 让编辑框,立刻获取焦点 我们常规的思路可能会编写如下代码来实现: 问题&#xff1a…

【含文档】基于ssm+jsp的IT论坛系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了三个…

【运维心得】按任何键都不能进BIOS三步解决

目录 第一步 键盘 第二步 工具 第三步 短路 估计经常搞运维的朋友,会经常碰到这个问题。 第一步 键盘 这个现象出现,首先要确定开机时,屏幕上是否会显示提示字符?比如F2、F10、DEL键之类的,如果有,那么就…

OpenCV基础05_GUI和PyMsql

目录 一、PySimpleGUI 1、布局和窗口 2、文本框组件 3、视频处理 4、图片处理 二、pymsql 1、数据库操作 2、数据采集 3、人脸识别 一、PySimpleGUI PySimpleGUI 是一个用于简化 GUI 编程的 Python 包,它封装了多种底层 GUI 框架(如 tkinter、…

动态代理IP的应用场景有哪些?

在数字化时代,数据的价值不言而喻,而动态代理IP则如同企业数据采集的隐形翅膀,助力企业在信息海洋中翱翔。本文将深入探讨动态代理IP的应用场景,揭示其如何帮助企业提升业务成功率,保障数据采集的安全性与稳定性。 动…

从实验室到晶圆厂:光刻胶剥离液的关键转变

根据QYResearch调研团队最新发布的《全球光刻胶剥离液市场报告2023-2029》显示,预计到2029年,全球光刻胶剥离液市场规模将攀升至15.8亿美元,未来几年将以8.9%的复合年增长率(CAGR)持续增长。 上述图表及数据均来源于QY…

基本开关电源电路分析

一、BOOST电路(升压): 下图为Boost电路的最基本拓扑,从左至右包括电源,储能电感L1,开关管Q1,二极管D1,输出滤波电容C1及负载电阻R1。 工作原理: 开关管导通状态&#xf…

【解决】Pico 串流 Unity 开发环境 Preview 黑屏问题

开发平台:Unity 6.0 开发工具:Pico SDK   一、问题描述 在 Unity 开发环境下运行 测试 PicoVR 表现时,出现 Game视窗 PicoVR投屏 呈现黑屏效果。详细背景如下: UnitySwitch PlateformPICO Integration SDKPICO Live Preview6…

网站域名注册流程详解

随着互联网的普及,网站已经成为人们获取信息、传播观点和开展业务的重要途径。在创建自己的网站之前,第一步是选择并注册一个合适的域名。域名是您网站的地址,它将帮助用户找到您的在线空间。在这篇文章中,我们将详细介绍网站域名…

AI赋能人才管理:东软助力企业数字化转型

在数字化转型大潮席卷全球的今天,如何在新时代背景下实现高效、智能的管理升级,也成为了广大企业关注的焦点。 不久前,东软正式发布TalentBase数智人力资本管理产品,以AI人才管理模式为企业人力资源管理注入了新的活力。 数字化转…

专治拖延症❗❗提升学习效率的秘密武器⏰【当当狸智能时间管理器D2】养成高效自律好习惯

孩子有拖延的习惯,做事磨蹭拖拉,学习效率底下❓ 尤其是低年龄段的孩子时间观念不强, 所以就很懒散很被动,做事的效率也很低 缺乏时间管理能力的孩子可能会 面临学业压力增大、成绩下滑、情绪消极等后果❌ 所以,一…

Python字符串(一图秒了)

一、概念 在Python中用单引号或双引号引起来的内容 定义 s abc123 s "abc" s #空字符串 s "" #空字符串 s #空格字符串 s " " #空格字符串 注意:空格字符串不是空字符串 二、字符串的访问&…

Linux权限管理和文件属性

目录 1. 权限的概念 2. 权限管理 2.1 文件访问者的分类 2.2 文件类型和访问权限(事物属性) 2.2.1 文件类型 2.2.2 file指令 2.2.3 基本权限 3. 文件访问权限的相关设置方法 3.1 chmod 3.2 chown 和 chgrp 3.3 umask 4. 粘滞位 1. 权限的…

【Python实战案例】爬虫项目实例(附赠源码)

文章目录 声明安装必要的库项目结构技术细节小结 声明 请您遵守网站的robots文件规定,本文目的只是做学习交流使用,包括多个模块,例如数据存储、日志记录、错误处理、多线程或异步请求 安装必要的库 pip install requests beautifulsoup4 sq…

Spring Boot 与 Vue 共筑电影院选票新体验

作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 🍅获取源码联系方式请查看文末🍅 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目…

基于java+SpringBoot+Vue的星之语明星周边产品销售网站设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

leetcode - 每日一题 - 3226. 使两个整数相等的位更改次数

位运算 3226. 使两个整数相等的位更改次数 题目 想法 n k 直接返回 0n & k ! k, 直接返回 -1 (从题目来说,只能将位的值 从1改为0,&:只有两个数中位的数都是1,才为1,所以符合答案的一…

宠物空气净化器哪家好?希喂、安德迈、霍尼韦尔除毛能力测评

宠物空气净化器哪家好?最近猫咪们开始换毛了,咱猫咖店里的30多只小家伙们集体换毛,掉毛量超多。为了解决这满屋子的猫毛,我特地买了好几台宠物空气净化器,把它们分散放在店里的各个角落,几乎全天24小时不间…

人才画像系统:助力企业打造动态人才成长体系

在当今竞争激烈的市场环境中,人才已成为企业发展的核心竞争力。为了满足企业发展对人才的需求,人才画像系统应运而生,通过以岗位胜任力模型为基础定义人才标准,多维度采集员工信息进行人才对标和盘点,为企业的人才选拔…

浅谈特朗普上台后对IT行业的影响

想必大家都已经知晓,特朗普在2024年再次上台,本篇文章主要来自网络,如果不喜,请勿喷,主要瞎掰下特朗普上台后对IT行业的影响: 贸易政策和关税:特朗普可能会实施更高的关税,这对IT行业…