字符指针变量数组指针变量

字符指针变量

在指针的类型中,我们知道有一种指针叫做字符指针

一般的使用情况如下:

#include<stdio.h>
int main()
{
	char ch = 'w';
	char* pa = &ch;
	*pa = 'h';
	printf("%c", *pa);
	return 0;
}

还有一种使用方法如下:

#include<stdio.h>
int main()
{
	const char* prrr = "hello,world.";
	printf("prrr = %s\n", prrr);
	return 0;
}

很多人可能会疑问?这个是把hello,world赋给了prrr吗,其实不是的,在这个代码中,是将hello world 的首字母的地址给了prrr

在《剑指offer》中有一道和字符串相关的面试题,大家一起来看一下:

#include<stdio.h>
int main()
{
	char str1[] = "hello,bit.";
	char str2[] = "hello,bit.";
	const char* str3 = "hello.bit.";
	const char* str4 = "hello.bit.";
	if (str1 == str2)
		printf("str1 and str2 are same\n");
	else
		printf("str1 and str2 are not same\n");
	if (str3 == str4)
		printf("str3 and str4 are same\n");
	else
		printf("str3 and str4 are not same\n");

	return 0;
}

这个是代码运行的结果,大家想到了吗?

这个结果的产生是因为在str3和str4当中,两个指针指向了同一个常量字符串,系统会创建一个相同的空间,所以,他们两个会指向同一块内存空间,要是str1和str2的时候,是对不同的数组进行初始化,所以会产生不同的内存空间,所以第一个是not same ,第二个是same

数组指针变量

数组指针变量存放的应该是数组的地址

整型指针-存放整形的指针---里面存放的是整形的地址

浮点数指针-存放浮点数的指针---里面存放的是浮点数的地址

数组指针是什么?指针呢?还是数组呢?

答案当然是指针

大家来看一下下面的两个哪个是数组指针

char *arr[10] = { 0 };
char(*arr)[10] = { 0 };

我们可以看到,第一个是数组,有10个元素,每个元素的类型是char*

第二个是数组指针,指针指向的是数组,数组有10个元素,每个元素的类型是char

数组指针怎么理解呢?

*和arr结合代表着arr是一个指针,然后这个指针指向了一个10个元素的数组,这就叫做数组指针。

#include<stdio.h>
int main()
{
	int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
	int i = 0;

	int sz = sizeof(arr) / sizeof(arr[0]);
	for (i = 0; i < sz; i++)
	{
		printf("%d ", *(arr + i));
	}

	return 0;
}
#include<stdio.h>
int main()
{
	int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
	int* pa = &arr;
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (int i = 0; i < sz; i++)
	{
		printf("%d ", *(pa + i));
	}
	return 0;
}

 

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

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

相关文章

计算机速成课Crash Course - 07. 中央处理器

今天开始计算机速成课Crash Course的系列讲解。 更多技术文章&#xff0c;全网首发公众号 “摸鱼IT” 锁定 -上午11点 - &#xff0c;感谢大家关注、转发、点赞&#xff01; 计算机速成课Crash Course - 07. 中央处理器 07. 中央处理器 提示下&#xff0c;这集可能是最难的一…

Python-图片去重

直接上代码 # 修改一下第34行文件夹路径以及13行图片后缀名即可使用 import os from hashlib import md5def remove_duplicate_images(folder_path):image_files []duplicate_images set()# 遍历文件夹&#xff0c;找到所有 JPG 图片文件for root, dirs, files in os.walk(f…

LeetCode | 110. 平衡二叉树

LeetCode | 110. 平衡二叉树 OJ链接 首先计算出二叉树的高度然后计算当前节点的左右子树的高度&#xff0c;然后判断当前节点的左右子树高度差是否超过 1&#xff0c;最后递归地检查左右子树是否也是平衡的。 //计算二叉树的高度 int height(struct TreeNode* root) {if(root…

SOLIDWORKS弯曲特征在泵阀行业中的应用

弯曲特征-折弯 此类弯曲特征以绕三重轴的折弯轴折弯一个或多个实体。 定位三重轴和剪裁基准面&#xff0c;控制折弯的角度、位置和界限。 此弯曲类型可用于多种应用&#xff0c;包括工业设计、机械设计、解决金属冲压中的回弹条件以及从复杂的曲面形状中删除底切等。 本篇文章…

【每日易题】Leetcode上Hard难度的动态规划题目——地下城游戏的实现

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;博主最近一直在钻研动态规划算法&#xff0c;最近在Leetcode上刷题的时候遇到一个Hard难度的动态规划题&#xff0c;今天就借此机会来给大家分享…

CopyOnWriteArrayList怎么用

什么是CopyOnWriteArrayListCopyOnWriteArrayList常用方法CopyOnWriteArrayList源码详解CopyOnWriteArrayList使用注意点CopyOnWriteArrayList存在的性能问题CopyOnWriteArrayList 使用实例基本应用实例并发应用实例 拓展写时复制 什么是CopyOnWriteArrayList CopyOnWriteArra…

Uber Go 语言编码规范

uber-go/guide 的中文翻译 English 文档链接 Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司&#xff0c;也是 Go 语言的早期 adopter。其开源了很多 golang 项目&#xff0c;诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 G…

每天一点python——day85

#每天一点Python——85 #python常见的异常类型&#xff1a; #如图&#xff1a; #①数学运算异常【由于会报错&#xff0c;我直接全部注释掉了】 print(10/0) 输出&#xff1a;ZeroDivisionError: division by zero#②索引错误list1[1,2,3,4] print(list1[5])#找索引为4的元素 输…

谈一谈内存池

文章目录 一&#xff0c;什么是内存池二&#xff0c;进程地址空间中是如何解决内存碎片问题的三&#xff0c;malloc的实现原理四&#xff0c;STL中空间配置器的实现原理五&#xff0c;高并发内存池该内存池的优势在哪里内存池的设计框架内存申请流程ThreadCache层CentreCache层…

优酷新国风动漫《师兄啊师兄 第二季》强势定档 看李长寿稳健归来!

看新国风&#xff0c;上优酷动漫&#xff01;由优酷出品&#xff0c;玄机科技制作&#xff0c;改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》&#xff08;作者&#xff1a;言归正传&#xff09;的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》今日正式官宣定档&…

【Docker】从零开始:13.Docker安装tomcat

Docker】从零开始&#xff1a;13.Docker安装Tomcat 下载Tomcat镜像启动Tomcat镜像新版本Tomcat修改访问Tomact首页 下载Tomcat镜像 [rootdocker ~]# docker pull tomcat Using default tag: latest latest: Pulling from library/tomcat 0e29546d541c: Pull complete 9b829c7…

培训机构一定要做好网络安全措施,确保学员信息安全!

生活中大家对于培训机构一定很熟悉&#xff0c;因为从小到大都可以参加各种培训机构。参加培训机构时候&#xff0c;往往会登记各种信息&#xff0c;培训机构会记录存储。所以为了确保学员个人隐私安全&#xff0c;保障学员信息安全&#xff0c;培训机构一定要做好网络安全措施…

【设计模式】单例模式代码设计

目录 单例模式简介饿汉单例模式懒汉单例模式线程安全的懒汉单例模式 橙色 详细可参考该篇文章&#xff1a;C设计模式 - 单例模式 单例模式简介 单例模式指的是&#xff0c;无论怎么获取&#xff0c;永远只能得到该类类型的唯一一个实例对象&#xff0c;那么设计一个单例就必须…

RH850P1X芯片学习笔记-Pin Functions

文章目录 Pin Connection Diagrams术语定义 Pin ListPort OverviewIntroductionFunctional OverviewPort CategoryOperation Mode运行模式 Port Function寄存器地址映射 Port寄存器描述Pn/JP0 — Port RegisterPPRn/JPPR0 — Port Pin Read RegisterPMn/JPM0 — Port Mode Regi…

采集伪原创洗稿,实现文章创作的方法

各位写手小伙伴们&#xff0c;今天要和大家分享一些关于伪原创的方法和经验&#xff0c;希望这些建议能够在你们的写作之旅中派上用场。 首先我们需要明确一下&#xff0c;伪原创并不是鼓励抄袭&#xff0c;而是一种在保留原文核心思想的同时&#xff0c;通过巧妙的方式改写&a…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 需要环境或者解析可以私信 &#xff08;二&#xff09;A 模块基础设施设置/安全加固&#xff08;200 分&…

Footprint Analytics x Future3 万字研报:AI 与 Web3 数据行业融合的现状、竞争格局与未来机遇探析(上)

GPT的横空出世将全球的目光吸引至大语言模型&#xff0c;各行各业都尝试着利用这个“黑科技”提高工作效率&#xff0c;加速行业发展。Future3 Campus携手Footprint Analytics共同深入研究AI与Web3结合的无限可能&#xff0c;联合发布了《AI与Web3数据行业融合现状、竞争格局与…

操作系统原理-作业二-进程调度与死锁

1.设某系统中有四个进程 P1 、 P2 、 P3 和 P4 &#xff0c;它们的到达时刻依次为 0ms 、 1ms 、 2ms 、 3ms &#xff0c;估计运行时间分别为 6ms 、 1ms 、 8ms 、 4ms &#xff0c;若系统采用基于时间片轮转的三 级反馈队列调度算法进行调度&#xff0c;其中第一级队…

深度解析大模型背后的知识储存与提取:背诵不等于理解/MongoDB发布生成式AI新功能,大幅提高开发者工作效率和体验|魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 Mistral AI发布开源语言模型Mistral 7B&#xff0c;性能超越规模更大的Llama…

机器学习实验四:贝叶斯分类器

系列文章目录 机器学习实验一&#xff1a;线性回归机器学习实验二&#xff1a;决策树模型机器学习实验三&#xff1a;支持向量机模型机器学习实验四&#xff1a;贝叶斯分类器机器学习实验五&#xff1a;集成学习机器学习实验六&#xff1a;聚类 文章目录 系列文章目录一、实验…