数学的首地址为什么是个常量不能改变,int a[5]为什么这个a不能++,--,不能赋值,但是a+1又是正确的
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
数组的首地址为什么是个地址常量不能改变
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
日向晚,声声慢 2022-09-26 07:28关注a的地址是编译器给你的,不能修改。自增的结果是,a会到下一个地址上去了。+1的结果,a本身的地址是没有变的,a+1,这个表达式指向下一个地址。
你想要自增的话,你还要再来一个指针变量,这个指针指向a,这个指针变量就可以自增。本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-10-20 05:59回答 1 已采纳 不允许使用变量定义数组大小,必须是固定值。比如char ch[1000],或者动态分配,比如char ch = (char)malloc(n);
- 2022-02-07 06:44回答 3 已采纳 数组名前边加&已经不是普通的取地址符了。虽然值一样,但编译器对a+1和&a+1的处理是不一样的
- 2022-07-20 08:13回答 1 已采纳 对,auto会忽略掉顶层consthttps://qa.1r1g.com/sf/ask/3226431841/
- 2021-05-21 08:26爱打怪的小魔女的博客 因为数组中的每个元素,其实都可以直接看成是一个变量,所以指向数组元素的指针,也就是变量的指针。指向数组元素的指针不难,但很常用。我们用程序来解释会比较直观一些。unsigned char number[10] = {0, 1, 2, 3, ...
- 2021-12-14 00:52回答 1 已采纳 没有为什么,语法就这么规定的这就导致你不可以先声明一个int n,再用n去初始化数组。除非n是常量。
- 2017-05-15 15:21回答 2 已采纳 字符串放在常量区,当赋值给数组初始化时,会发生数据拷贝,将happy拷贝至局部数组所在的栈区,所以数组跟原字符串的地址是不同的
- 2021-06-18 06:38回答 2 已采纳 数组的大小不能用变量表示的,是因为在编译连接期间内存要按照你制定的长度给数组分配相应的内存空间,如果是变量的话就没有办法给它分配了,你可以用符号常量来解决,在开头用: # define m 100
- 2020-12-19 02:32常量是不能改变的值。与变量的区别在于: 1. 声明常量使用`define()`函数,如 `define('PI', 3.14);` 2. 常量一旦声明,就不能更改其值。 3. 常量没有作用域限制,可以在程序的任何地方访问。 4. 常量命名通常全大写...
- 2022-10-31 06:51回答 4 已采纳 字符常量在内存中占4个字节,存放的是字符的ASCII码(整型数据)。 C语言规定所有字符常量都作为整型量来处理。
- 2022-01-11 14:45回答 5 已采纳 "ab", "a", "b" 都在堆中不是同一个
- 2022-05-11 13:35回答 2 已采纳 第一个好理解,就是取了a[2]的地址,第二个是先取了a[2]的地址,a[2]=3,后面再加上[1],就是a[2]的地址作为了后面数组的首地址,[1]就是后面数组的第二个元素,值为4
- 2024-01-18 15:44五、定义一维数组常量 常量数组的定义类似于变量数组,但用`const`关键字声明,并且通常提供初始值: ```pascal const p: array [1..10] of integer = (3, 6, 2, 9, 0, 4, 1, 7, 23, 43); ``` 六、一维数组的应用 ...
- 2024-12-01 13:59Java中还有关键字final,它可以用来声明常量,常量的值在定义后不能被改变。此外,Java的类结构中,所有的类都直接或间接继承自Object类,这是Java类层次结构的根类。在类中,变量的作用域决定了变量可被访问的代码...
- 2023-07-16 14:45学习&实践爱好者的博客 编程语言中,常量(Constants)和变量(Variables)是用来存储数据的两个重要概念。
- 2022-05-10 13:156. **向函数传递数组**:在C语言中,数组名作为参数传递时,实际上传递的是数组的首地址。这意味着,即使函数接收数组作为参数,也无法改变数组的大小。一维数组和二维数组都可以以这种方式传递,对于二维数组,它被...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司