当前位置: 首页 > news >正文

C语言中关于指针的理解及用法

关于指针意思的参考:icon-default.png?t=N7T8https://baike.baidu.com/item/%e6%8c%87%e9%92%88/2878304

 指针 = 指针变量 = 地址 

野指针

野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)

以下是导致野指针的原因

1.指针未初始化

int main()
{int *p;*p=20;return 0;
}

 在这里面*p没有初始化,所以默认为随机值,我们也把这样的指针叫做野指针

我们之后把20赋给*p显然是行不通的,因为指针指向的是一个地址而非值,正确的赋值方法应该是这样的:

int *p,a=20;p=&a;

 2.指针越界

int main()
{int s[10]={0};int *p=s,a;for(a=0;a<=11;a++){*p=a;p++;printf("%d\n",*p);}return 0;
}

在这串代码中,我们把数组s赋给了指针p, 而s里面只能存放10个值,我们现在用for循环,让a在s里面存了12个值,当指针指向的范围超出数组s时,这个指针就被叫做野指针

 指针的一般用法

#include<stdio.h>
int main()
{int i=1;    //i占4个字节int *p=&i;  return 0;
}

  这里的 * 代表着p是指针变量,int代表p指向的i是整型的

#include<stdio.h>
int main()
{int i=5;int s[10]={1,2,3,4,5,6,7,8,9,10};int *pa=&i;int *pb=s;int *pc=&s[3];printf("%d\n",*pa);printf("%d\n",*pb);printf("%d\n",*pc);return 0;
}

 我们在使用指针的时候要注意:

如果要把指针指向一个变量,我们在定义的时候就只用在变量前面加个 &(取地址符) 就行了

如果指向的是数组,我们可以直接把数组名给指针,就像*pb=s,这样输出的时候就默认是数组的第一个数,如果我们要指向数组中其他元素,就要用 & + 要取的数组下标 *pc=&s[3]。

相关文章:

C语言中关于指针的理解及用法

关于指针意思的参考&#xff1a;https://baike.baidu.com/item/%e6%8c%87%e9%92%88/2878304 指针 指针变量 地址 野指针 野指针就是指针指向的位置是不可知的&#xff08;随机的&#xff0c;不正确的&#xff0c;没有明确限制的&#xff09; 以下是导致野指针的原因 1.指针…...

软件测试|深入理解Python中的re.search()和re.findall()区别

前言 在Python中&#xff0c;正则表达式是一种强大的工具&#xff0c;用于在文本中查找、匹配和处理模式。re 模块提供了许多函数来处理正则表达式&#xff0c;其中 re.search()和 re.findall() 是常用的两个函数&#xff0c;用于在字符串中查找匹配的模式。本文将深入介绍这两…...

❤ Vue3 完整项目太白搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript(一)yarn 版本控制 ltb (太白)

❤ 项目搭建 一、项目信息 Vue3 完整项目搭建 Vue3PiniaVant3/ElementPlustyperscript&#xff08;一&#xff09;yarn 版本控制 项目地址&#xff1a; 二、项目搭建 &#xff08;1&#xff09;创建项目 yarn create vite <ProjectName> --template vueyarn install …...

linux搭建SRS服务器

linux搭建SRS服务器 文章目录 linux搭建SRS服务器SRS说明实验说明搭建步骤推流步骤查看web端服务器拉流步骤final SRS说明 SRS&#xff08;simple Rtmp Server&#xff09;,是一个简单高效的实时视频服务器&#xff0c;支持RTMP/WebRTC/HLS/HTTP-FLV/SRT, 是国人自己开发的一款…...

系列六、Spring Security中的认证 授权 角色继承

一、Spring Security中的认证 & 授权 & 角色继承 1.1、概述 关于Spring Security中的授权&#xff0c;请参考【系列一、认证 & 授权】&#xff0c;这里不再赘述。 1.2、资源类 /*** Author : 一叶浮萍归大海* Date: 2024/1/11 20:58* Description: 测试资源*/ Re…...

云原生周刊:OpenTofu 宣布正式发布 | 2023.1.15

开源项目推荐 kubeaudit kubeaudit 是一个开源项目&#xff0c;旨在帮助用户对其 Kubernetes 集群进行常见安全控制的审计。该项目提供了工具和检查规则&#xff0c;可以帮助用户发现潜在的安全漏洞和配置问题。 Chronos Chronos 是一款综合性开发人员工具&#xff0c;可监…...

【如何在 GitHub上面找项目】【转载】

很多的小伙伴&#xff0c;经常会有这样的困惑&#xff0c;我看了很多技术的学习文档、书籍、甚至视频&#xff0c;我想动手实践&#xff0c;于是我打开了GitHub&#xff0c;想找个开源项目&#xff0c;进行学习&#xff0c;获取项目实战经验。这个时候很多小伙伴就会面临这样的…...

java每日一题——ATM系统编写(答案及编程思路)

前言&#xff1a; 基础语句学完&#xff0c;也可以编写一些像样的程序了&#xff0c;现在要做的是多加练习&#xff0c;巩固下知识点&#xff0c;打好基础&#xff0c;daydayup! 题目&#xff1a;模仿银行ATM系统&#xff0c;可以创建用户&#xff0c;存钱&#xff0c;转账&…...

《TrollStore巨魔商店》TrollStore2安装使用教程支持IOS14.0-16.6.1

TrollStore(巨魔商店) 简单的说就相当于一个永久的免费证书&#xff0c;它可以给你的iPhone和iPad安装任何你想要安装的App软件&#xff0c;而且不需要越狱,不用担心证书签名过期的问题&#xff0c;不需要个人签名和企业签名。 支持的版本&#xff1a; TrollStore安装和使用教…...

鸿鹄电子招投标系统源码实现与立项流程:基于Spring Boot、Mybatis、Redis和Layui的企业电子招采平台

随着企业的快速发展&#xff0c;招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求&#xff0c;建立一个公平、公开、公正的采购环境至关重要。在这个背景下&#xff0c;我们开发了一款电子招标采购软件&#xff0c;以最大限度地控制采购成本&#…...

力扣-三数之和

三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。…...

全罐喂养一个月多少钱?适合全罐喂养的猫罐头推荐

不少铲屎官一直没有办法get到猫罐头对猫咪的好处&#xff0c;或者get到了又觉得给猫咪买猫罐头好贵&#xff0c;看到其他铲屎官都开始全罐喂养了&#xff0c;但是自己却迟迟下不了手&#xff0c;犹犹豫豫的不知道全罐喂养一个月多少钱&#xff1f; 今天&#xff0c;铲龄15年的…...

js some方法的使用

JavaScript中的数组some()方法用于检查数组中是否至少有一个元素满足指定条件。该方法会遍历数组&#xff0c;并对每个元素应用指定的测试函数。如果有任何一个元素使得测试函数返回true&#xff0c;则some()方法返回true&#xff0c;否则返回false。 some()方法的语法如下&am…...

QT DAY5作业

1.QT基于TCP服务器端 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QMessageBox> //消息对话框类 #include <QTcpSocket> //客户端类 #include <QList> //链表容器类namespace …...

Hello 2024补题

Wallet Exchange&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;A&#xff0c;B做游戏&#xff0c;它们的钱包里各有a,b个硬币&#xff0c;轮到它们操作时&#xff0c;它们可以扔掉自己或者对手钱包里的硬币&#xff0c;谁不能操作谁输&#xff0c;问…...

git权限问题导致的所有文件被修改问题

git忽略文件权限的修改 git config core.filemode false...

C语言经典算法之堆排序算法

目录 前言 建议 简介 A.建堆&#xff1a; B.排序 一、代码实现 二、时空复杂度 A.时间复杂度 B.空间复杂度 三、稳定性 四、现实中的应用 前言 建议 1.学习算法最重要的是理解算法的每一步&#xff0c;而不是记住算法。 2.建议读者学习算法的时候&#xff0c;自己…...

前端笔试题(一)

1.vue如何实现数据的双向绑定 利用v-model来实现双向数据绑定 通过Object.defineProperty()来劫持各个属性的setter&#xff0c;getter&#xff0c;在数据变动时发布消息给订阅者&#xff0c;触发相应的监听回调来渲染视图 2.使用vue渲染大量数据时&#xff0c;如何进行优化…...

Springboot开发的大学生寝室考勤系统刷脸进出宿舍系统技术文档

宿舍出入系统 1.2采集学生人脸信息和宿管人脸信息 前端使用navigator.mediaDevices.getUserMedia&#xff08;考虑个浏览器的内核差异&#xff0c;此处以最新的标准API:navigator.mediaDevices.getUserMedia为例&#xff09;获取用户浏览器的摄像头并开启视频&#xff0c;使用…...

网络共享服务

存储类型&#xff1a;直连式&#xff08;DAS&#xff09;:距离最近&#xff0c;存储设备且直接连接到服务器上 存储区域网络&#xff08;SAN&#xff09;&#xff1a;适用于大型应用或数据库系统&#xff0c;可以使用文件的空间&#xff0c; 以及管理空间…...

Claude API文档不是说明书,而是契约:用Swagger UI+Postman Collection+TypeScript SDK三件套构建零歧义协作协议

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Claude API文档不是说明书&#xff0c;而是契约 Claude API 文档的本质并非操作指南或功能速查手册&#xff0c;而是一份具有技术约束力的**双向契约**——它明确定义了客户端与 Anthropic 服务之间在请求结构…...

计算机网络基础:TCP/IP 与 HTTP 核心知识

摘要&#xff1a;计算机网络是后台开发和 AI 基础设施面试的重要考点。本文从 OSI 七层模型出发&#xff0c;重点讲解 TCP 三次握手/四次挥手、HTTP/HTTPS 协议、以及 WebSocket 和 RESTful API 设计&#xff0c;并结合 Python 代码展示 Socket 编程和简单的 HTTP 服务器实现。…...

Unity低耦合可复用交互系统设计与实现

1. 为什么“交互系统”在Unity项目里总变成一锅粥&#xff1f;你有没有遇到过这样的场景&#xff1a;美术同事改了个按钮位置&#xff0c;UI脚本里硬编码的transform.Find("Button")就报空引用&#xff1b;策划临时加个新交互逻辑&#xff0c;程序员得翻遍PlayerCont…...

《设计数据密集型应用》(DDIA, 2nd ed.) 心智模型导览——《Designing Data-Intensive Applications》书介绍导航

《设计数据密集型应用》(DDIA, 2nd ed.) 心智模型导览——《Designing Data-Intensive Applications》书介绍导航写给&#xff1a;还没读过这本书、想先在脑子里有张地图的读者 目的&#xff1a;装上 6 个内容枢纽——不只是抽象概念&#xff0c;每个枢纽下面挂着这本书真正讲的…...

在Node.js后端服务中集成Taotoken,实现稳定可靠的大模型功能调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js后端服务中集成Taotoken&#xff0c;实现稳定可靠的大模型功能调用 将大模型能力集成到后端服务是现代应用开发的常见需求…...

体验 Taotoken 官方价折扣与活动价带来的实际成本优势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验 Taotoken 官方价折扣与活动价带来的实际成本优势 对于需要频繁调用大模型 API 的开发者和团队而言&#xff0c;成本控制是一个…...

MQA:全部 Query 共享一套 Key-Value

本文基于昇腾CANN和昇腾NPU&#xff0c;围绕 ops-transformer 仓库的相关技术展开。 MQA&#xff08;Multi-Query Attention&#xff09;走到 GQA 的极端——所有 Query Head 共享同一组 K、V。8 个 Head 还是 32 个 Head&#xff0c;都只存一份。这对 KV Cache 的压力最小&…...

【Elasticsearch从入门到精通】第15篇:Elasticsearch删除与更新API——精确操作与脚本更新

上一篇【第14篇】Elasticsearch文档检索API——GET、MGet与字段选择 下一篇【第16篇】Elasticsearch批量操作API——Bulk、Reindex与跨集群索引 摘要 数据的删除和更新是Elasticsearch文档操作中不可或缺的环节。本文全面讲解了Elasticsearch删除与更新API的使用方法&#xff…...

JMeter分布式压测五大核心故障点与RMI通信调优指南

1. 为什么分布式压测不是“多开几台JMeter就能搞定”的事很多人第一次接触Jmeter分布式压测&#xff0c;脑子里浮现的画面是&#xff1a;主控机上点一下“启动”&#xff0c;十几台从机瞬间火力全开&#xff0c;TPS哗哗往上飙&#xff0c;监控曲线平滑漂亮——结果一跑起来&…...

STM32 HAL库驱动NRF24L01避坑指南:SPI时钟配置、引脚命名那些容易出错的地方

STM32 HAL库驱动NRF24L01实战避坑手册&#xff1a;从SPI配置到中断处理的深度解析 当你在深夜的实验室里盯着示波器上杂乱的SPI波形&#xff0c;或是面对编译器抛出的"undefined reference"错误时&#xff0c;是否曾怀疑过NRF24L01这个看似简单的2.4GHz射频模块为何如…...