【c语言】指针数组、数组指针

news2024/11/15 23:21:34

创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ  

目录

指针知识:

 一、指针数组

 二、数组指针

用数组指针遍历数组: 


指针知识: 指针知识详解https://blog.csdn.net/TiSg0/article/details/129999819?spm=1001.2014.3001.5501

原则    &操作找到地址 *操作获得空间使用权 

一、指针数组

指针数组指针类型的数组

#include <stdio.h>
int main()
{
	int a=1,b=2,c=3,d=4;
	// 指针类型的数组简称:指针数组。 每个数组成员都是指针变量。
	int arr[3] = { 7,8,9 };
	int* p[4] = { &a,&arr[1],arr,arr + 2 };
	return 0;
}

指针数组成员(存放地址):&a、&arr[1]、arr、 arr+2:arr是一个地址,arr偏移2也是一个地址 

调试器查看一下数组成员: 

 

 二、数组指针

 数组指针是指针类型的扩展

数组指针:数组类型 加 指针

 定义数组指针:

#include <stdio.h>
int main()
{
	int a = 1;
	int arr[] = {1,2,3,4};
	int *p = &a;
	//将int [4]当成一个整体看  4个int类型数组 + 指针 ==数组指针
	int (*P)[4];//可以指向4个连续int型存储空间的地址。
	P = &arr;

    return 0;
}

 调试器查看一下: 

 

 *p一定记得加括号!!!加了括号才是数组指针,否则为指针数组。

建议在arr前使用&符号的原因: 

  加了&是整个数组类型的地址,在&a+1偏移时,整个数组偏移 指向下一个数组

*P指向整个数组的指针,sizeof(*P)为整个数组类型的字节大小为16. 获得空间大小 

  

用数组指针遍历数组: 

printf("%d ",(*P)[i] );// *P代表整个数组的空间  [i]代表其中的第i个 

#include <stdio.h>
int main()
{
	int a = 1;
	int arr[] = {1,2,3,4};
	int *p = &a;
	
	int (*P)[4];//可以指向4个连续int型存储空间的地址。
	P = &arr;
	for (int i = 0; i < 4; i++)
	{
		printf("%d ",(*P)[i] );// *P代表整个数组的空间  [i]代表其中的第i个
	}
	return 0;
}

 一定记得加括号!!(*P)[ i ] 通过P先得到空间,再得到其中的第几个值

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

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

相关文章

打造出ChatGPT的,是怎样一群人?

震惊世界的ChatGPT&#xff0c;要多少人才能开发出来&#xff1f;几百&#xff0c;还是几千&#xff1f; 答案是&#xff1a;87个人。 老实说&#xff0c;刚看到这个数字真是惊到我了&#xff0c;印象里&#xff0c;之前看媒体报道各大巨头人工智能人才储备时&#xff0c;动辄…

学编程应该选择什么操作系统?

今天来聊一个老生常谈的问题&#xff0c;学编程时到底选择什么操作系统&#xff1f;Mac、Windows&#xff0c;还是别的什么。。 作为一个每种操作系统都用过很多年的程序员&#xff0c;我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不…

Linux服务器如何查看CPU使用率、内存占用情况

Linux服务器如何查看CPU使用率、内存占用情况 作为Linux运维工程师&#xff0c;系统维护过程以及日常工作中需要我们经常查看CPU使用率、内存使用率、带宽占用&#xff0c;从资源使用的程度分析系统整体的运行情况。 在 Linux 上查看资源使用情况有很多命令可以参考&#xff0c…

【SpringMVC】9—底层原理

⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 如果文章对你有所帮助&#xff0c;可以点赞&#x1f44d;…

基于springboot和ajax的简单项目 02 代码部分实现,xml文件sql语句优化 (中)

上次说到了log/log_list.html的doGetObjects()&#xff0c;其中有doFindPageObjects&#xff08;&#xff09;方法。 找到全部的日志对象&#xff0c;并且输出到div上。这里是后台的代码。 01.pojo对象&#xff0c;这里需要序列化保存。序列化的作用是保存对象到内存缓存中&am…

腾讯38K测试良心分享,熬夜整理10万字详细软件测试面试笔记

国内的互联网面试&#xff0c;恐怕是现存的、最接近科举考试的制度。 这是由于互联网IT行业的求职者太多了&#xff0c;如果考察的是清一溜的算法题和设计题&#xff0c;那么会要求面试官有极高的技术水平&#xff0c;还要花大量的时间成本和精力。 所以&#xff0c;八股文面…

普通人如何使用ChatGPT接单挣钱-第一弹

嘿&#xff0c;我是灵牧&#xff0c;今天这一期给大家带来的是普通人如何使用chatGPT挣钱的第一期 第一弹&#xff1a;通过GPT写一个Tkinter数独案例赚取&#xffe5;50 事情原委&#xff1a; 今天在接单群里看到一个Tkinter写数独的需求案例&#xff0c;想要加一个独立的弹…

Golang每日一练(leetDay0031)

目录 91. 解码方法 Decode Ways &#x1f31f;&#x1f31f; 92. 反转链表 II Reverse Linked List II &#x1f31f;&#x1f31f; 93. 复原 IP 地址 Restore IP Addresses &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练…

pdf转excel表格怎么做?这3种方法简单又方便

在日常工作和生活中&#xff0c;我们经常需要转换不同格式的文件&#xff0c;比如将PDF转换为Excel表格。虽然转换过程看似简单&#xff0c;但实际上要想转换好&#xff0c;选择一款专业的PDF转换器是非常必要的。今天&#xff0c;我将为大家介绍几款值得推荐的PDF转换器&#…

一文全解经典机器学习算法之线性回归(关键词:回归分析、最小二乘法、极大似然估计、梯度下降法、逻辑回归、对数几率、线性判别分析)

文章目录一&#xff1a;线性回归基本概念&#xff08;1&#xff09;回归分析&#xff08;2&#xff09;线性回归二&#xff1a;线性回归确定参数的方法&#xff08;1&#xff09;最小二乘法A&#xff1a;代数求法B&#xff1a;矩阵求法&#xff08;主要使用&#xff09;&#x…

国产大模型狂飙,谁能率先做出第一个中国版GPT

热火烹油的大模型赛道打起了“嘴仗”。 搜狗前CEO王小川评价百度创始人李彦宏的采访发言称&#xff1a;“你们采访的可能是平行世界的他&#xff0c;不是我们这个世界里的。” 而针对王小川的评论&#xff0c;百度集团副总裁、搜索平台负责人肖阳又回应道&#xff1a;“王小…

JavaSE补充 | 网络编程

目录 一&#xff1a;网络编程 1. 网络编程概述 2. 网络通信要素 3. 传输层协议&#xff1a;TCP 与 UDP 协议 4. 网络编程 API 5. TCP网络编程 6. UDP 网络编程 7. URL编程 一&#xff1a;网络编程 1. 网络编程概述 Java是 Internet 上的语言&#xff0c;它从语言级上提…

【redis】单线程 VS 多线程(入门)

【redis】单线程 VS 多线程&#xff08;入门&#xff09; 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#…

Python之数据库操作(连接数据库,增删改查操作,易错点理解)

文章目录 前言一、Python之数据库操作二、pymysql 安装三、pymysql 包引入 连接数据库创建游标执行sql数据 - 增删改查要获取查询结果数据关闭游标&#xff0c;关闭数据库连接总结前言 记录&#xff1a;Python操作数据库的步骤&#xff0c;不容易理解的地方。 一、Python之数据…

开局一张图,构建神奇的 CSS 效果

假设&#xff0c;我们有这样一张 Gif 图&#xff1a; 利用 CSS&#xff0c;我们尝试来搞一些事情。 图片的 Glitch Art 风 在这篇文章中 --CSS 故障艺术&#xff0c;我们介绍了利用混合模式制作一种晕眩感觉的视觉效果。有点类似于抖音的 LOGO。 像是这样&#xff1a; 假设…

14、DRF实战总结:获取Django请求路径的方法以及各自的区别

Django项目开发中经常需要在视图中获取用户当前请求url的地址&#xff0c;然后进行跳转或判断操作&#xff0c;比如是否在url黑白名单里。Django提供了多种获取请求路径的实现方式&#xff0c;比如request.path, request.path_info, request.get_full_path和request.build_abso…

【Python】【进阶篇】十六、Python爬虫的浏览器实现抓包

目录十六、Python爬虫的浏览器实现抓包16.1 控制台界面16.1.1 NetWork16.1.2 Sources16.1.3 Console16.1.4 Application16.2 数据包抓取16.3 看变化规律十六、Python爬虫的浏览器实现抓包 几乎所有浏览器都提供了抓取数据包的功能&#xff0c;因为浏览器为抓包提供了一个专门的…

【MQTT协议】使用c++实现mqtt协议(Mosquitto源码编译)

目录MQTT协议简介发布/订阅模式简介MQTT协议与发布/订阅模式的联系基于Mosquitto实现的MQTT服务器Mosquitto安装MQTT协议简介 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的、基于发布/订阅模式的消息传输协议&#xff0c;其最初由IBM开发&…

(链表专题) 445. 两数相加 II ——【Leetcode每日一题】

445. 两数相加 II 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 示例1&#xff1a; 输入&#xff1a;l1 [7,2,…

什么是时间复杂度和空间复杂度

什么是时间复杂度和空间复杂度 &#x1f355;博客主页&#xff1a;️自信不孤单 &#x1f36c;文章专栏&#xff1a;数据结构与算法 &#x1f35a;代码仓库&#xff1a;破浪晓梦 &#x1f36d;欢迎关注&#xff1a;欢迎大家点赞收藏关注 文章目录什么是时间复杂度和空间复杂度1…