(C语言)指针的进阶

1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。
2.指针的大小是固定的4/8个字节(32位平台/64位平台)。
3.指针是有类型,指针的类型决定了指针的+-整数的步长,指针解引用操作的时候的权限。
4.指针的运算。

一、关于两个数组和指针是否相等的问题;

# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>int main()
{//初始化变量值;//初始化指针;const char* p1 = "abcdef";const char* p2 = "abcdef";//初始化数组;char arr1[] = "abcdef";char arr2[] = "abcdef";//判断比较指针是否相等结果结果;if (p1 == p2){//打印结果;printf("p1 == p2\n");}else{//打印结果;printf("p1 != p2\n");}//结果为:p1 == p2;//原因:因为*p1和*p2在存储时存储的是字符串首字母的地址,p1和p2的首字母都是a,a的地址是一样的;//所以说p1 == p2;//判断数组是否相等结果;if (arr1 == arr2){//打印结果;printf("arr1 == arr2\n");}else{//打印结果;printf("arr1 != arr2\n");}//结果为: arr1 != arr2;//原因:因为arr1和arr2属于两个不同的数组,会在内存中开辟不同的空间;//所以这两个字符串数组即使内容一样,但是也不会相等;return 0;
}

二、指针数组;

指针数组是数组,是用来存放指针的数组;

int arr[10] //整型数组;

char arr[5] //字符数组;

int* arr[10] //存放整型指针的数组;

char* arr[5] //存放字符指针的数组;

三、用一维数组实现二维数组;

# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>int main()
{//初始化变量值;int arr1[] = { 1, 2, 3, 4, 5 };int arr2[] = { 2, 3, 4, 5, 6 };int arr3[] = { 3, 4, 5, 6, 7 };//初始化指针变量值;int* parr[] = { arr1, arr2, arr3 };//打印数组;int i = 0;int j = 0;//循环打印;for (i = 0; i < 3; i++){//内层循环;for (j = 0; j < 5; j++){//打印结果;// printf("%d", *(parr[i] + j));//*(p + i) ---> p[i]printf("%d", parr[i][j]);}//每个数组循环完成后换行;printf("\n");}return 0;
}

四、数组指针;

数组名通常表示的都是数组首元素的地址
但是有2个例外:
1.s1zeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小单位是字节
2.&数组名,这里的数组名表示的依然是整个数组,所以&数组名取出的是整个数组的地址 

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

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

相关文章

msvcr120.dll丢失怎样修复,三种修复msvcr120.dll丢失的方法

"msvcr120.dll"是一个重要的库文件&#xff0c;用于支持Microsoft Visual C 2013 Redistributable软件包中的应用程序。在本文中&#xff0c;我们将介绍"msvcr120.dll"文件的重要性和作用&#xff0c;并探讨当msvcr120.dll丢失怎样修复的办法。以及msvcr12…

Python基础教程——90行Python代码让微信地球转起来!!(完整版,附源码)

今天我们来一个好玩儿的东西&#xff0c;使用90行Python代码就可以让【微信第地球】转起来&#xff0c;太有意思啦&#xff01; 1.微信地球 手机重启后打开微信的一瞬间&#xff0c;会看到一幅有名的图片&#xff0c;上面站着一个张小龙。 你可曾想过这样一个问题&#xff0c…

走向云原生 破局数字化

近年来&#xff0c;随着云计算概念和技术的普及&#xff0c;云原生一词也越来越热门&#xff0c;云原生成为云计算领域的新变量。行业内&#xff0c;华为、阿里巴巴、字节跳动等各个大厂都在“抢滩”云原生市场。行业外&#xff0c;云原生也逐渐出圈&#xff0c;出现在大众视野…

GUI设计基础

层次结构 要学GUI&#xff0c;大概先知道它的层次结构&#xff0c;如下图所示&#xff0c;我们要设计的就是下面这个几个东西。 菜单uimenu 建立一级菜单项的函数调用格式&#xff1a; hmuimenu(h_parent,PropertyNamel,valuel,propertyName2,value2&#xff0c;...); hm 是…

人机对话:现在一个10岁的孩子,怎么才能在15年后更容易地找到工作或成功创业?

人机对话&#xff1a;现在一个10岁的孩子&#xff0c;怎么才能在15年后更容易地找到工作或成功创业&#xff1f; 一、现在一个10岁的孩子&#xff0c;怎么才能在15年后更容易地找到工作或成功创业&#xff1f;二、选择什么专业方向更合理一些&#xff1f;三、对2040年的社会发展…

修改mariadb的默认存储路径

首先mariadb服务正常启动 安装mariadb&#xff1a; https://blog.csdn.net/qq_50247813/article/details/135402502?spm1001.2014.3001.5502 停止mariadb服务 systemctl stop mariadb创建新的数据存放目录 mkdir /data将mariadb的数据拷贝到/data目录下 mv /var/lib/mysq…

搭建内网穿透服务

搭建内网穿透服务 文章目录 搭建内网穿透服务环境要求环境安装服务配置启动服务访问内网穿透 环境要求 node1 版本 > 16express2 框架express-generator3 框架ngroke4 内网穿透工具之一 环境安装 # 安装 express 框架 $ npx express-generator # 或者 $ npm install -g e…

Leetcode349和350 两个数组的交集问题的思考

Leetcode 349&#xff1a;两个数组的交集I 题目要求的是输出结果中的每个元素一定是 唯一 的。 不考虑输出结果的顺序 。 因为是唯一的&#xff0c;不重复。所以我们考虑使用set Leetcode 350&#xff1a;两个数组的交集II 题目要求的是数组形式返回两数组的交集。返回结果…

设计模式学习2

代理模式&#xff1a;Proxy 动机 “增加一层间接层”是软件系统中对许多复杂问题的一种常见解决方案。在面向对象系统中&#xff0c;直接食用某些对象会带来很多问题&#xff0c;作为间接层的proxy对象便是解决这一问题的常见手段。 2.伪代码&#xff1a; class ISubject{ pu…

oracle增量恢复解决备库GAP问题

Rolling forward a standby database using RMAN Incremental Backup. 模拟归档丢失的情况 一 主库操作&#xff1a; 查看当前归档 停用归档传输 alter system set log_archive_dest_state_2defer; 切换归档 alter system switch logfile; alter system switch logfile; 模拟丢…

AIGC学习笔记(1)——AI大模型提示词工程师

文章目录 AI大模型提示词工程师1 Prompt工程之原理1.1 AIGC的发展和产业前景前言AIGC时代的到来发展趋势和应用展望 1.2 大模型的类型和特点大模型的对比上手特点 1.3 大模型技术原理和发展成语接龙和暴力穷举ChatGPT如何理解人类语言如何存储数据图像存储电脑存数字如何让电脑…

商智C店H5性能优化实战

前言 商智C店&#xff0c;是依托移动低码能力搭建的一个应用&#xff0c;产品面向B端商家。随着应用体量持续增大&#xff0c;考虑产品定位及用户体验&#xff0c;我们针对性能较差页面做了一次优化&#xff0c;并取得了不错的效果&#xff0c;用户体验值&#xff08;UEI&…

[NOIP2009 普及组] 多项式输出#洛谷

题目描述 一元 n n n 次多项式可用如下的表达式表示&#xff1a; f ( x ) a n x n a n − 1 x n − 1 ⋯ a 1 x a 0 , a n ≠ 0 f(x)a_nx^na_{n-1}x^{n-1}\cdots a_1xa_0,a_n\ne 0 f(x)an​xnan−1​xn−1⋯a1​xa0​,an​0 其中&#xff0c; a i x i a_ix^i ai​xi …

面部识别技术的突破:IP-Adapter-FaceID实现上传照片秒变多面人生

IP-Adapter-FaceID通过上传个人照片&#xff0c;仅需几分钟即可克隆一个高度真实的个性化面部图像。IP-Adapter-FaceID的独特之处在于&#xff0c;它不仅捕捉到个体的基本外貌特征&#xff0c;更深入地嵌入了面部识别模型的面部ID&#xff0c;使生成的图像在细节上更为准确和逼…

前端--基础 常用标签-超链接标签 外部链接( herf 和 target)

目录 超链接标签 &#xff1a; 超链接的语法格式 &#xff1a; 超链接的属性 &#xff1a; 超链接的分类 &#xff1a; 外部链接 &#xff1a; 超链接标签 &#xff1a; # 在 HTML 标签中&#xff0c;<a> 标签用于定义超链接&#xff0c;作用是从一个页面…

crontab任务调度

定时任务管理工具 crontab是Linux系统下的一个定时任务管理工具&#xff0c;用于执行定期的任务。它会按照预定的时间执行指定的任务&#xff0c; 可以在后台自动运行Linux下的任务调度分为两类 系统任务调度&#xff0c;Linux系统任务是由 cron (crond) 这个系统服务来控制的…

cookie和session、请求转发和重定向

会话 分为有状态会话和无状态会话 在HTML中&#xff0c;"会话"一般指的是Web服务器与客户端&#xff08;通常是浏览器&#xff09;之间进行的一系列请求和响应。它是一种在网络上模拟人与人之间通信的方式&#xff0c;常见于Web应用程序中。 会话、Cookie和Sessio…

(Python + Selenium4)Web自动化测试自学Day2之动手尝试

目录 文章声明⭐⭐⭐让我们开始今天的学习吧&#xff01;小试牛刀关于select标签关于弹窗只有一个点击按钮的弹窗需要确认的弹窗用户可以输入的弹窗 文章声明⭐⭐⭐ 该文章为我&#xff08;有编程语言基础&#xff0c;非编程小白&#xff09;的 Python Selenium4 Web自动化测试…

Servlet 3.0的异步处理

1、传统Servlet处理 Web容器会为每个请求分配一个线程&#xff0c;默认情况下&#xff0c;响应完成前&#xff0c;该线程占用的资源都不会被释放。若有些请求需要长时间(例如长处理时间运算、等待某个资源)&#xff0c;就会长时间占用线程所需资源&#xff0c;若这类请求很多&…

2023我的编程之旅,一年总结与展望

目录 印象深刻的实战经历 系统学习新技术的心得体会 想要安利给所有人的开发工具&#xff1a;VS Code 对技术行业的深度思考 职业规划与心灵成长 职场经历与升职感悟 编程语言的新趋势 我的最大收获与成长:团队&#xff0c;平台 我的技术发展规划 印象深刻的实战经历 …