字符指针数组指针的理解

1.字符指针:也就是存放字符地址的指针(和整型指针差不多)

代码如下:

int main()
{
 char ch = 'w';
 char *pc = &ch;
 *pc = 'w';
 return 0;
}

2.数组指针:也就是指向数组的指针

2.1数组指针如何初始化

int main()
{
	int arr[10] = { 0 };
	int(*p)[10] = &arr;//必须要有括号,这才能保证p为指针,理解起来就是p指向的是一个大小为10的整型数组
	return 0;
}

 

ps:一定要注意以上代码后面的注释内容; 

2.2二维数组传参的本质 

首先我们先来复习一下之前是如何打印二维数组中各个元素的值的。

代码如下

void test(int arr[3][5], int x, int y)
{
	for (int i = 0; i < x; i++)
	{
		for (int j = 0; j < y; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	int arr[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6} };
	test(arr, 3, 5);
	return 0;
}
 解析:
1.这里的实参是一个二维数组,形参也写成了二维数组的形式,首先我们再来复习一个二维数组的格式,二维数组可以看成一维数组中的元素,所以二维数组的每个元素都是一维数组。

 2.所以根据上述一维数组的数组名为首元素的地址,那么二维数组的数组名也就是第一行数组的地址。根据这个猜想,那我们可以使用数组指针的形式来打印二维数组中的各个内容吗?

 代码如下:

void test(int(*p)[5], int x, int y)
{
	for (int i = 0; i < x; i++)
	{
		for (int j = 0; j < y; j++)
		{
			printf("%d ", *(*(p + i))+j);
		}
		printf("\n");
	}
}
int main()
{
	int arr[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6} };
	test(arr, 3, 5);
	return 0;
}
代码关键内容解析:
1. (int(*p)[5])是形参,表示指向有5个整型元素的一维数组
2. *(*(p + i))+j), *(p + i),表示取这个二维数组的第i行,*(*(p + i))+j)表示取这个一维数组的第j列

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习大数据,所必需的java基础(8)

文章目录 字符缓冲流字符缓冲输出流 _Buffered和Writer字符缓冲输入流字符缓冲流练习 转换流字符编码字符集转换流转换流_OutputStreamWriter序列流和反序列流的介绍序列化流_ObjectOutputStream反序列化_ObjectInputStream不想被序列化操作反序列化时出现的问题以及分析和解决…

低代码平台,面向业务or技术?

低代码开发平台是一种新兴的技术趋势&#xff0c;它为企业提供了快速、高效地开发应用程序的方法。随着数字化转型的加速&#xff0c;越来越多的企业开始关注低代码开发平台&#xff0c;并在实际应用中取得了一定的成果。 作为使用者来说&#xff0c;面对市场上形形色色的低代…

力扣hot100:438.找到字符串中所有字母异位词(滑动窗口)

26个字符&#xff0c;我复制怎么了&#xff1f;26个字符我比较个数怎么了&#xff1f; 顶多时间复杂度*26 本题用固定窗口大小的滑动窗口每次比较包含26个元素的数组次数&#xff0c;最容易写。 动态窗口大小哈希表存数值&#xff08;双指针差值&#xff09;难想难写。 一、动态…

【随笔】yt-dlp使用cookie完成身份认证 python yt-dlp库常用参数

文章目录 一、提取cookies1.1 不提取出来1.2 提取为单独文件1.2 使用cookies 二、yt-dlp 用法&#xff08;python库&#xff09;基本参数视频参数播放列表参数高级参数 以前用yt-dlp做的软件&#xff1a; 但是部分网站需要在登录状态才能获取更高格式的内容。 比如&#xff…

dolphinscheduler试用(一)(边用边修bug。。。。create tenant error)

&#xff08;作者&#xff1a;陈玓玏&#xff09; 前提&#xff1a;部署好了dolphinscheduler&#xff0c;部署篇见https://blog.csdn.net/weixin_39750084/article/details/136306890?spm1001.2014.3001.5501 官方文档见&#xff1a;https://dolphinscheduler.apache.org/…

数据结构(二)——线性表

二、线性表 2.1线性表的定义和基本操作 2.1.1 线性表的基本概念 线性表&#xff1a;是具有相同数据类型的 n 个数据元素的有限序列。(Eg:所有的整数按递增次序排列&#xff0c;不是顺序表&#xff0c;因为所有的整数是无限的)其中n为表长&#xff0c;当n0时线性表是一个空表…

将ppt里的视频导出来

将ppt的后缀从pptx改为zip 找到【media】里面有存放图片和音频以及视频&#xff0c;看文件名后缀可以找到&#xff0c;mp4的即为视频&#xff0c;直接复制粘贴到桌面即可。 关闭压缩软件把ppt后缀改回&#xff0c;不影响ppt正常使用。

2023年全球AI服务器市场占有率

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 AI服务器是高端产品&#xff0c;全球都缺高端AI芯片&#xff0c;最近集邦咨询发布了2023 年全球 AI 服务器市场占有率的市场报告。 排名第一的是浪潮&#xff0c;第二名是戴尔、第三名是HPE(慧与也跟惠普有关)、第…

各种业务场景调用API代理的API接口教程

API代理的API接口在各种业务场景中具有广泛的应用&#xff0c;本文将介绍哪些业务场景可以使用API代理的API接口&#xff0c;并提供详细的调用教程和代码演示&#xff0c;同时&#xff0c;我们还将讨论在不同场景下使用API代理的API接口所带来的好处。 哪些业务场景可以使用API…

Qt ini配置文件

ini文件用于保存用户的设置操作&#xff0c;下列以背景颜色设置为例子 暂时默认设置为白色背景 这段代码放置在主窗口的构造函数中&#xff0c;用于初始化读取ini文件 QString color;QSettings *set new QSettings("color.ini",QSettings::IniFormat);set->begi…

泰迪智能科技-2024年高校大数据人才培养探索模式

随着数字经济的高速发展&#xff0c;对于大数据人才的需求日益增长。产业数字化和数字产业化之间的关系&#xff0c;已经成为推动社会发展的关键。为此&#xff0c;高校及产业界需要紧密配合&#xff0c;以培养出符合时代需求的大数据人才。 数字产业化与产业数字化高速发…

C++_程序流程结构_跳转语句_break

break 作用 用于跳出选择结构或循环结构 break使用的时机 出现在switch条件语句中&#xff0c;作用是终止case并跳出switch出现在循环语句中&#xff0c;作用是跳出当前的循环语句出现在嵌套循环中&#xff0c;跳出最近的内层循环语句 示例1 示例2 示例3

入门指南:使用uni-app构建跨平台应用

入门指南&#xff1a;使用uni-app构建跨平台应用 &#x1f31f; 前言 欢迎来到我的小天地&#xff0c;这里是我记录技术点滴、分享学习心得的地方。&#x1f4da; &#x1f6e0;️ 技能清单 编程语言&#xff1a;Java、C、C、Python、Go前端技术&#xff1a;Jquery、Vue.js、R…

【MySQL】数据库的操作(1)

【MySQL】数据库的操作&#xff08;1&#xff09; 目录 【MySQL】数据库的操作&#xff08;1&#xff09;创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备…

【Leetcode每日一题】 前缀和 - 和为 K 的子数组(难度⭐)(29)

1. 题目解析 题目链接&#xff1a;560. 和为 K 的子数组 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 核心在于计算题目所给数组是否存在连续子数组和为指定值&#xff0c;存在返回连续子数组个数即可&#xff0c;不存在返回0即…

C++基础2:C++基本数据类型和控制结构

此专栏为移动机器人知识体系下的编程语言中的 C {\rm C} C从入门到深入的专栏&#xff0c;参考书籍&#xff1a;《深入浅出 C {\rm C} C》(马晓锐)和《从 C {\rm C} C到 C {\rm C} C精通面向对象编程》(曾凡锋等)。 2.C基本数据类型和控制结构 2.1 C基本数据类型 程序是由算法…

HarmonyOS NEXT应用开发——Navigation开发 页面切换场景范例

简介 在应用开发时&#xff0c;我们常常遇到&#xff0c;需要在应用内多页面跳转场景时中使用Navigation导航组件做统一的页面跳转管理&#xff0c;它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。除此之外还拥有动态加载&#xff0c;navPathSta…

2024年最新Android大厂面试笔试题分享,大厂面试题汇总

随着互联网的发展&#xff0c;大众对程序员这个职业有了更多的了解&#xff0c;除了高薪工资之外&#xff0c;压力太大&#xff0c;黑白颠倒&#xff0c;作息不规律等等&#xff0c;也是身为一个程序员必须经历的事情。 大部分程序员都是安静的、稳重的&#xff0c;有什么问题…

算法简单试题

一、选择题 01.一个算法应该是( B ). A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C 02&#xff0e;某算法的时间复杂度为O(n)&#xff0c;则表示该…

探索AntDB:数据驱动时代的引擎

AntDB的发展道路一直如一条平稳而高效的航线&#xff0c;其升级过程始终是经过细致策划与多方验证。每一次的版本更新&#xff0c;都蕴含着团队的心血和智慧&#xff0c;保障系统的稳定与性能。AntDB在高速发展的同时&#xff0c;始终不忘稳扎稳打&#xff0c;为用户提供最优质…