C语言指针变量与一维数组

数组元素之间的地址是相连的;

变量地址绝对不是相连的,如果找到规律那也只是一个偶然的,不是必然的;

1. 指针变量和一位数组

下面对指针数组进行分析,index(小标是从0开始),array数组是int类型,每一个元素占据4个字节。

#includeint main(void){  int a[5] = {10,20,30,40,50};  int *p;  printf("a[0]的地址:%d\n",&a[0]);   // 取地址  printf("a[1]的地址:%d\n",&a[1]);  printf("a[2]的地址:%d\n",&a[2]);  printf("a[3]的地址:%d\n",&a[3]);  printf("a[4]的地址:%d\n",&a[4]);printf("--------------------------------\n");  printf("a的地址:%d\n",a);    // 数组名 a = a[0]  printf("a+1的地址:%d\n",a+1);   // 相当于 a[1] 的地址  printf("a+2的地址:%d\n",a+2);     printf("a+3的地址:%d\n",a+3);  printf("a+4的地址:%d\n",a+4);  return 0;}

2. 指针变量引用一维数组

#includeint main(void){  int a[5] = {10,20,30,40,50};  int *p;  printf("&a[2]+2的地址:%d\n",&a[2]+2);  // 等于 &a[4] // *a[2] 这样取数组的值会报错的  printf("*(a+2)的值:%d\n",*(a+2)); // a[2] = 30printf("*a+3的值:%d\n",*a+3); // 13 (*星号的优先级高于 + 先算 *a的值再加3)  printf("--------------------------------\n");p = a; // p = &a;printf("p的地址:%d\n",p);  printf("p+1的地址:%d\n",p+1);  printf("p+2的地址:%d\n",p+2);  printf("p+3的地址:%d\n",p+3);  printf("p+4的地址:%d\n",p+4);  printf("--------------------------------\n");printf("*p的值:%d\n",*p);  printf("*(p+1)的值:%d\n",*(p+1));  printf("*(p+2)的值:%d\n",*(p+2));  printf("*(p+3)的值:%d\n",*(p+3));  printf("*(p+4)的值:%d\n",*(p+4));printf("--------------------------------\n");p = &a[2];  printf("p的地址:%d\n",p);   // &a[2]  printf("p+1的地址:%d\n",p+1);  // &a[3]  printf("p+2的地址:%d\n",p+2);  // &a[4]  printf("p+3的地址:%d\n",p+3);  // &a[5]  野地址  printf("p+4的地址:%d\n",p+4);  // &a[6]  野地址printf("--------------------------------\n");
//a = &a[2];  //错误,a代表a[0]是一个常量,赋值只能给一个变量所以会出错,a 必须是一个左值  return 0;}

3. 指针一维数组地址关系

4. 指针一维数组内容关系

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

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

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

相关文章

input发送a.jax_JAX-RS 2.0:服务器端处理管道

input发送a.jax这篇文章的灵感来自JAX-RS 2.0规范文档 (附录C)中的Processing Pipeline部分。 我喜欢它的原因在于它提供了JAX-RS中所有模块的漂亮快照-以准备好吞咽的胶囊形式! 礼貌– JAX-RS 2.0规范文档 因此,我想到了使用此…

html 登录失败,qq音乐登录失败 QQ音乐总是显示登录失败是怎么回事

urlproc.exe是什么进程?没见过,请前辈们指点?造成QQ音乐登录不上现象的原因有如下三种可能: 一、木马病毒对QQ音乐的必要组件或文件进行破坏,导致QQ音乐登录失败,登陆不上的情况发生。 二、Windows系统防火墙(或其他安…

C 常对象成员

C 常对象成员在C 中,可以将对象的成员声明为const,包括常数据成员和常成员函数C 常数据成员 常数据成员的作用与一般常变量相似,用关键字const来声明常数据成员。常数据成员的值是不能改变的,只能通过构造函数的参数初始化表对常数…

娄底二中高考2021成绩查询,2021年娄底高考状元名单公布,娄底高考状元学校资料及最高分...

2019年高考已经落下帷幕,高考放榜时刻就要到来,每年的高考状元都会被各界高度关注,那么今年娄底高考状元花落谁家呢?娄底高考状元会给人带来惊喜吗,让我们一起期待2019年娄底高考状元的诞生。下面小编为给为梳理下历年…

C 常指针

C 指向对象的常指针C 定义指向对象的常指针的一般形式为 类名 * const指针变量名;也可以在定义指针变量时使之初始化在C 中,虽然指向对象的常指针变量的值不能改变,但可以改变其所指向对象的值,如果想将一个指针变量固定地与一个对…

microsoftexchange邮箱容量怎样看_企业邮箱申请注册的要求有哪些?_网站建设_创客网络...

随着现在互联网信息化发展的速度不断加快,企业邮箱作为企业之间信息传输的重要工具,其重要性不亚于企业网站,但市场上企业邮箱种类繁多,包含的功能也各不相同,稍有差异,你知道怎么去选择好企业邮箱吗&#…

Unity中Shader观察空间推导(在Shader中实现)

文章目录 前言一、观察空间矩阵推导1、求观察空间基向量2、求观察空间的基向量在世界空间中的矩阵 的 逆矩阵2、求平移变换矩阵3、相乘得出 观察空间转化矩阵4、得到顶点的世界空间坐标,然后转化到观察空间5、把观察空间坐标转化为齐次裁剪坐标输出到屏幕 二、最终效…

C 常引用

C 对象常引用在C 中,常用常指针和常引用作函数参数,既能保证数据安全,使数据不能被随意修改,在调用函数时又不必建立实参的拷贝。用常指针和常引用作函数参数,可以提高程序运行效率。在C 中,如果变量名和引…

mui hello html5 安装,HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试(示例代码)...

No1. 必须搭建java环境只需要最基础的java环境,也就是cmd下可以运行java和javac即可,具体教程请自行百度,都会有很详细的教程,这里不重点介绍。No2. 下载安装HBuilder下载完成后请将zip包解压缩到自定义的目录(windows)&#xf…

C 析构函数

C 析构函数概述C 析构函数是一个特殊的成员函数,作用与构造函数相反,它的名字是类名的前面加一个~符号,析构函数是与构造函数作用相反的函数,当对象的生命期结束时,会自动执行析构函数。C 执行析构函数的情…

vue 侦听器侦听对象属性_不删除侦听器–使用ListenerHandles

vue 侦听器侦听对象属性听一个可观察的实例并对它的变化做出React很有趣。 做一些必要的事情来打断或结束这种聆听会变得很有趣。 让我们看看问题的根源和解决方法。 总览 这篇文章将首先讨论这种情况,然后再讨论常见的方法和问题所在。 然后,它将提供解…

华硕笔记本桌面没有显示计算机,华硕笔记本的桌面不见了,急求高手解答

满意答案下放工人2013.04.06采纳率:54% 等级:12已帮助:5701人★桌面-点击鼠标右键-点击排列图标-点击显示桌面图标★在桌面上右键点击→“属性”→桌面项→左下有个“自定义桌面”进入设置,把…

Facebook开源 C++11 组件库,真香!

Folly是Facebook open source library的缩写,提供了类似 Boost 和 std 库的功能。包括散列、字符串、向量、内存分配、位处理等,满足大规模高性能的需求。逻辑设计Folly 是一组相对独立的组件,有的简单到几个符号。对内部依赖没有限制&#x…

undertow ssl_SSL与WildFly 8和Undertow

undertow ssl我一直在研究WildFly 8的一些安全性主题,偶然发现了一些没有很好记录的配置选项。 其中之一是用于新的Web子系统Undertow的TLS / SSL配置。 有很多关于较旧的Web子系统的文档,并且确实仍然可以使用,但是这里是使用新方法进行配置…

C++对象的动态建立

C对象的动态建立和释放在C中,如果定义的对象是静态的,在程序运行过程中,对象所占的空间是不能随时释放的。为提高内存空间的利用率,希望在需要用到对象时才建立对象,在不需要用该对象时就撤销它,释放它所占…

java字符连接字符串数组_Java中连接字符串的最佳方法

java字符连接字符串数组最近有人问我这个问题–在Java中使用运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗。 这些是我要研究的方法: 使用运算符 使用StringBuilder 使用StringBuffer…

C 构造函数重载

C 用参数初始化表对数据成员初始化在C 中,构造函数的函数可以通过体内赋值语句对数据成员实现初始化,C 还提供另一种初始化数据成员的方法,用参数初始化表来实现对数据成员的初始化。这种方法不在函数体内对数据成员初始化,而是在…

乐播投延迟很高_大屏也要高刷新!华为4K@120智慧屏初体验,屏幕软件都够硬

买电视就是买屏幕,华为智慧屏也不例外。可参数大而全的旗舰产品往往都有着相当高昂的售价,假如你不愿意将就千元级别的画质,希望电视能坚持更长时间,却又没有足以点满所有技能树的预算……华为新出的S系列智慧屏,大概正…

java常见性能优化_十大最常见的Java性能问题

java常见性能优化Java性能是所有Java应用程序开发人员都关心的问题,因为快速使应用程序与使其正常运行同等重要。 史蒂文海恩斯(Steven Haines)使用他在Java性能问题上的个人经验得出的结论是, 大多数问题都有共同的根本原因 。 因…

为甚 html 显示为源码,显示字符串作为美化HTML源代码

我正在开发一个ASP.NET MVC Web应用程序。在一个页面上,我有一个字符串,如下所示:This is some text !对于预览模式,我使用Html.Raw(Model.MyText),文本显示为呈现的HTML:此是一些文字!我现在想…