c语言1变A,c语言那些细节之a+1和a+1的区别
首先a是一个数组名,当看到这个a与&a时,一般我们的理解都是这个数组的首地址。没错,如果加上打印的话,确实两个值是一样的。
不过&a是整个数组的首地址,a则是数组首元素的地址,虽然值一样,但是意义却不相同。
在此之前有必要先看下c程序在内存中的分布图。
下面来看一个例子吧还是。
示例代码:
#include
int main(int argc, char *argv[])
{
int i;
int a[]={1, 2, 3, 4, 5};
int s;
int *p = (int *)(&a+1);
printf(" a = %p\n&a = %p\n", a, &a);
for(i = 0; i < 5; i++)
printf("a[%d] = %p\n", i, &a[i]);
printf(" p = %p\n&p = %p\n&s = %p\n", p, &p, &s);
return 0;
}
运行结果:
a = 0022FF40
&a = 0022FF40
a[0] = 0022FF40
a[1] = 0022FF44
a[2] = 0022FF48
a[3] = 0022FF4C
a[4] = 0022FF50
p = 0022FF54
&p = 0022FF38
&s = 0022FF3C
由上面的运行结果,我们可以知道a和&a的区别了。可得下图:
因为是运行在main函数体内的变量,所以这些都是在栈中运行的,所以p指针是指向了a[4]后的那个地址,而p本身的地址是在栈中分配的。
综上可知:
&a+i = a + i*sizeof(a);
a+i = a +i*sizeof(a[0]);
相关文章:

【收藏清单】AI学习资料汇总——你想要的AI资源,这里都有
本文汇总了TinyMind站内AI资料类热门文章TOP10,欢迎大家各取所需。来源:https://www.tinymind.cn/ 1、【AI入门者必看】——人工智能技术人才成长路线图 入门AI的两大方式与进阶AI的十大路线,吐血之作,人手必备。路线图可在文末…

25,000,000行的代码就问你敢不敢动?!
你经历过绝望吗?近日,Hacker News 上发起了一个名为“你见过最糟糕的代码是什么?”(https://news.ycombinator.com/item?id18442637)的话题,引发了无数网友回忆讨论,甚至还再次让软件巨头 Orac…

c语言规定预处理命令必须以什么开头,C语言规定预处理命令必须以___________开头...
在定温定容下,语言规开反应NH4Cl (s) NH3 (g) HCl (g)达平衡,加入惰性气体平衡不移动05580041:定预若a、b均为int型变量,且a100,则for (b100;a!b;a,b) printf(----\n)是死循环。()处理05710012:以下正确的描述是( )。命令成年早期…

MySQL 微秒慢查询补丁
作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。原文出自:The new cool MySQL patch has landed! Check your…

Win10 15063 开始运行不保存历史记录原因和解决方法
在Win10 1703的时候你也许会发现开始运行以后,再次打开就没有任何历史记录了,常规方法是桌面-右键-个性化-开始-显示最常用的应用..可是打开是灰色的不可选.. 其实这个问题很好解决,在win10 15063隐私里面有一个设置的原因,请跟随…

CCNA培训课总结笔记--交换机的基本配置(十三)
实验目的:熟悉交换机的基本配置,学会在交换机上划分VLAN及如何将接口划分到指定的VLAN.本实验主要是用模拟器DynamipsGUI及3640的IOS文件做的实验,所以配置的命令有些会有出入.实验设备:3640交换机系列实验内容:其实交换机的基本操作包括设置特权登陆密码,设置控制台的密码等都…

TensorFlow 2.0发布在即,高级API变化抢先看
作者 | Sandeep Gupta, Josh Gordon, and Karmel Allison整理 | 非主流、Jane出品 | AI科技大本营【导语】早在今年 8 月的时候,谷歌开源战略师 Edd Wilder-James 在一封公开邮件中表示正在研发 TensorFlow 2.0,并将于今年晚些时候发布预览版。在 2018 年…

mp4 android自动播放,Android 使用VideoView播放MP4的简单实现
使用VideoView播放MP4播放示例实现简单的播放功能,播放手机本地的MP4文件。不依赖任何第三方框架,不添加任何防腐剂。添加一个系统自带的控制条。申请权限读取存储中的MP4文件准备布局文件在frag_video_view.xml中放置VideoView;为了让内容居…

Sublime-text theme 颜色主题
主题文件下载:Monokai.rar 替换办法: Preferences -> Browser packages -> Color Scheme - DefalutPreferences -> Browser packages -> Color Scheme - Defalut 覆盖 文件物理位置(win7): C:\Users\用户名\AppData\Roaming\S…
android 自定义radiobutton 样式,RadioButton自定义点击时的背景颜色
一、应用场景:在使用 RadioButton 时,有时我们会需要自定义点击时改变背景颜色的效果。效果图:RadioButton自定义背景颜色.jpg二、实现步骤:1、新建一组 RadioButton :android:layout_width"match_parent"an…

如何让网页不受电信114劫持
每当出现输入网页错误时,电信总会把你劫持到他所在的网页下,如下:[url]http://game1.zj.vnet.cn/url1.php?MTwww.dsdsddsds.com[/url]看了这张老脸就觉得浑身不舒服。能不能想个办法不让他出现呢?嘿嘿,其实很简单&…

“男医生,女护士?”消除偏见,Google有大招
编译整理 | 若奇出品 | AI科技大本营如何消除 AI 带来的性别偏见是个令人头疼的问题,那究竟有没有方法去解决?12 月 6 日,Google 宣布他们迈出了减少 Google 翻译中性别偏见的第一步,并且还详细介绍了如何为 Google 翻译上的性别中…

Web Developer中文版下载
Web Developer是一款非常优秀的网页调试工具。Web Developer有IE和Firefox两个版本,主要功能表现在几个重要的方面:对页面中的文本、图像、媒体文件进行控制,对网页所应用的CSS文件的id与class辅助查看,表格辅助查看,可…

位置服务与地图应用
位置服务与地图应用: 位置服务(Location Based Services,LBS)又称为服务或基于位置的服务。Andorid平台支持提供位置服务的API,在开发过程中主要用到LocationManager 和LocationProviders对象。 为开发能够提供位置服务,首先需要得…

20分钟教你搞懂Git!
Git 是最流行的版本管理工具,也是程序员必备的技能之一。本文就来教你 20 分钟搞懂 Git!以下为译文:尽管每天你都会用到Git,但也有可能搞不懂它的工作原理。为什么Git可以管理版本?基本命令git add和git commit到底在干…

android 长按赋值功能,android实现WebView中长按选中复制文本操作
啥都不说了,老司机直接移步GITHUB看源码吧:https://github.com/deaboway/AndroidWebViewTextSelect万一不work,一定不是代码的问题,你可以自查链接中的如下情况CSS控制页面文字不能被选中user-select:none;body{-moz-user-select:…

如何找回丢失的Vista系统“休眠”菜单
如何让Vista系统“休眠”菜单重见天日一些使用Windows Vista的朋友为了节省磁盘空间,在命令提示符下使用命令关闭休眠功能。但是如果再用相同的方法打开休眠功能时,就会发现,即使恢复了功能,“休眠”菜单还是看不见,这…

go3--常量和类型转换
/* Go中不存在隐式转换,所有类型转换必须显式声明 转换只能发生在两种相互兼容的类型之间 类型转换的格式:<ValueA> [:] <TypeOfValueA>(<ValueB>)全局变量可以使用var()的形式,局部变量不可以使用v…

android倒计时实现方法,Android实现倒计时方法汇总
Android开发中经常会有倒计时的功能,下面将总结出常见的集中实现方式。1.直接使用Handler的消息机制来实现xml布局中文件如下:android:layout_width"match_parent"android:layout_height"match_parent"android:orientation"hor…

今晚8点直播 | 详讲NLP的经典应用实践——文本分类
文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一个问题,很多时候,我们需要将文本信息进行分类,或提相关的接口以供外部进行文本上传,在针对于用户所上传的文档信息就需要进行文档内容的分类,那么针对于这…

谈论 嵌入式系统
引用 嵌入式系统嵌入式系统http://www.lumit.org/index.htm嵌入式相关的网站http://www.mcu123.com/news/Article/web/uc/200611/3939.html转载于:https://www.cnblogs.com/stoneresearch/archive/2008/10/21/4336381.html

SharePoint Server 2013 之四:部署SharePoint企业版
在上篇文章我们完成了SharePointServer 2013 必备的组件,用户可根据自己需求联网安装或离线安装。接下来我们进入SharePoint 企业版的部署。 运行SharePointServer 2013 SP1 安装程序,点击“安装SharePoint Server”如下图: 企业版安装是需要…

android 监测内存泄漏工具,LeakCanary:Android内存泄漏检测工具
LeakCanaryA memory leak detection library for Android and Java.“A small leak will sink a great ship.” - Benjamin FranklinGetting startedIn your build.gradle:dependencies {debugImplementation com.squareup.leakcanary:leakcanary-android:1.6.1releaseImplemen…

为什么说可视化编程是糟糕的想法?
可视化编程语言可以让程序员通过操纵图形元素来创建程序,而无需键入文本命令。众所周知的例子是 Scratch,这是一种麻省理工学院开发的可视化编程语言,用来教孩子们学编程。该语言的优势在于新手和普通用户可以更容易接触编程。二十世纪九十年…

7年增长16倍,清华AI+ML课程学生数暴增 | AI Index 2018
整理 | 非主流出品 | AI科技大本营用数据解读 AI。昨日,来自斯坦福大学、MIT、哈佛、OpenAI 等高校与企业的多位专家正式发布了 2018 年度 AI Index 报告,用一系列数据全面回顾了过去几年里 AI 领域的全球发展。营长挑了一些重点内容,为大家解…

RunTime的使用-Category改变整个项目全部字体
在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换。乍看起来,这个问题确实十分棘手,首先…

android 耳机红外线,红外线耳机制作方法
本文介绍的语音红外转发器具有结构简单、易于制作、无干扰、低噪声的特点。工作原理:转发器由发射和接收两部分组成。见附图1。鉴频后的伴音(音频)信号经三极管V放大后推动红外发射管。由于发射管的发光强度与通过的电流成正比,所以D1、D2所发出的红外光…

解决load cycle count的一个偏方,告别硬盘卡卡响
load cycle count猛增,笔记本电脑硬盘喀嚓喀嚓响,我倒不担心硬盘寿命,但是实在烦人那声音,系统也时常被卡一下。我曾使用了hdparm -B 254 /dev/sda 的方法,但是硬盘升温太明显,右掌托烫得忍无可忍。苦寻方法…

AI工程的实践者:普元积极将场景落地,为企业提供智能化解决方案
作者 | Jane出品 | AI科技大本营11 月 8-9 日,CSDN 和 AICamp 联合举办的 AI 开发者大会在北京顺利举行。普元移动产品线总经理郝振明发表了《基于机器学习的工程实践》的主题演讲,并接受了 AI科技大本营的专访。以下内容为郝振明的演讲与采访总结&#…

android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕
本文向你展示了在你的android應用程序中創建一個簡單的Button或ImageButton控件的步驟。首先,你會學到如何向你的布局文件中添加按鈕控件。然後你會學習如何用兩種方法處理用戶對按鈕的點擊。最後,我們討論android中按鈕控件一些其它的可用特性。第1步&a…