问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C的数组变量中数组名时数组的首地址

发布网友 发布时间:2022-06-01 17:30

我来回答

1个回答

热心网友 时间:2023-10-09 18:12

数组名是数组的首地址,就是数组中第一个元素的地址,是常量。常量是不能出现在赋值号=左边作为左值的。楼上的都没有解释清楚,说数组名就是指针是错误的,指针是变量,是用来存储变量地址值的变量,而数组名是常量。一般情况下声明一个数组,比如char a[10];之后,数组名a都是数组的首地址,是一个地址常量。但是在函数声明的形参列表中除外。
比如:
int foo(char a[10]);
在这种情况下这样的声明与
int foo(char a[]);
int foo(char * a);
是等价的,就是说这种情况下,就算你写的是数组的形式,编译器实际处理的时候也当指针来处理(注意指针是变量,形参也是变量,二者刚好对应)。所以在函数foo内部,你对a进行++, --, +=,=之类的带赋值的操作是完全合法的,因为此时a就是一个指针,不是数组名,当你往函数foo里面传入一个已经事先声明的数组的首地址时候,指针a里面的值就是你这个已经声明的数组的首地址,这样你在foo里面就可以对你那个数组进行操作,正是因为C有这个传地址的优点,所以省略了很多不必要的拷贝工作,试想如果没有这个传地址,你传一个有几万个元素的数组进去,那拷贝工作是相当可观的。这样,你该明白了int main(int argc, char ** argv);里面为什么可以对argv进行++操作了,既然“main函数的第二个形参是一个指向字符串的指针数组”,argv出现在函数声明中,所以它实际上是一个指针,它并不是“一个指向字符串的指针数组”,而是一个可以获取“一个指向字符串的指针数组”的首地址值的变量。楼主,请结合我前面的讲解,仔细体会我前面这句话的意思。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
微信里头怎样才能用哈语打字 QQ音乐每月听歌报告怎么看 每月听歌报告查看方法介绍 “却”字造句怎么写【优选51句】 微商业绩一年500万,怎么估值? 如何养殖小叶紫檀 钨铜刨花哪家好 求男主对女主一见钟情的小说 无虐 宠文甜文一对一 双C 类似于真婚厚爱... 金毛可以吃煮过的生蚝吗 有什么制作酥蜜粥的小妙招? 伏特加和其他酒类的口感有什么区别? 关系式怎么判断正反比例 志高空调重庆总代理 怎么判断两种量是否成正反比例关系 数组名表示一个地址,带了中括号就类似于是变量了吗? 御龙在天温泉背景音...有一句歌词叫 繁花落尽君辞去.... 高铁香港段何时试运行? 繁花落尽君辞去什么意思 眷用部首查字法,先查............后查................. 眷的拼音是什么 眷是什么结构的字?部首是? 眷的部首,音序丶几画 如果坐地铁进去刷了两个码出来只刷一个码怎样补费? 眷字部首是什么 进站用的乘车码,出站找工作人员刷的公交卡,后来乘车码又扣费了怎么办_百度问一问 用手机号注册的,必须要在本机上登陆吗,能用其它的手机登陆不 网站ASP 首页图片淡入淡出 没效果怎么回事啊 看facebook合法吗 眷的部首是什么 这个焦点图(幻灯切换)只在IE管用,兼容火狐谷歌该怎么改? 眷的部首是什么意思 微信登陆不上,上面显示不是本机号码,可是我那个号码早都丢了 求大神大神们帮帮忙_百度问一问 如何判断正反比例? 怎样判断正反比例是否一定 正反比例怎么判断? 急急急! 请讲的通俗一点,谢谢! 如何区分正反比例 怎样准确判断正反比例?特别是那些复杂的 做胆囊息肉微创保胆手术后1个月内怎么样饮食? 怎样子判断正反比例? 我刚做了胆囊息肉手术做了有半个月了请问能吃些什么菜? 怎么判断一道题是反比例还是正比例? 正反比例判断 海天生抽酱油配什么东西,口感会好一点? 2012年艺考播音编导即兴评述将有可能会考哪些热点话题?帮帮忙归纳下。谢谢 云南艺术学院编导戏文单招考题社会热点评述是写什么 学习影视编导平时需要关注那些热点 一篇收秋日记150字左右 求2017年编导艺考的时事热点! 编导面试应该注意什么 单反镜头购买! 用于拍摄人物特写, 例如,整面部表情, 单独的眼镜 嘴巴。 什么焦段的镜头适合? 我想问一下60*5的无缝钢管多少钱一米啊?