社区
C++ 语言
帖子详情
数组名算变量么?
underuwing
2009-12-27 12:45:59
int a[10],a算变量还是常量?
...全文
778
24
打赏
收藏
数组名算变量么?
int a[10],a算变量还是常量?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gernal_dn
2009-12-28
打赏
举报
回复
数组名算变量么?
==================
唉!中国人总是有这样的本位思想,喜欢将东西各自归位。
实际上许多东西如果从不同的角度看,会有不同的答案。
不说其它的,单单“变量”一词就比较怪异,5楼说“变量的定义是一段命名的内存空间”,这也不算错,是教科书上的说法。但我大部分情况下是倾向于数学上的定义的,一个参数,代表着某种属性,理论上可变就是变量,理论上不可变,或限定条件下不可变,就是常量。为什么我倾向数学定义而不是程序语法定义?因为这样思维不必中断,否则写程序看程序就太累了......
phoebuslv
2009-12-27
打赏
举报
回复
是变量,只有数字、字符、字符串才算常量,如23、'I'、"you"是常量,而int I或char you就是变量,与其是不是数组无关
lovesi3344
2009-12-27
打赏
举报
回复
数组名其实也是一个指针,只不过是const指针,指向第一个元素。
数组名是数组首元素的地址,但是是常量地址(const指针),所以不能做左值,例如不能自增自减。
所以数组名不是变量,是“常量”??不,是只读变量!!!
JackDoge
2009-12-27
打赏
举报
回复
只有a的话,a是个地址,还不能变
但是地址里的内容可以变,算变量吧
aizibion
2009-12-27
打赏
举报
回复
变量
codesnail
2009-12-27
打赏
举报
回复
数组首元素的地址,你不能说“我是主席还是超人?”
你只是你自己
北辰猫咪
2009-12-27
打赏
举报
回复
两种情况:
1,int a[20]; 这么定义的话,虽然数组名a代表地址,但是a不可改变。可以当做const 类型的变量
2,如果这么定义: int * a = new int[20]; 算变量
鼠
2009-12-27
打赏
举报
回复
[Quote=引用 19 楼 slowgrace 的回复:]
数组标识符和普通标识符体现了两种不同的抽象方式。数组标识符是对一个集合的抽象;而普通标识符是对一个个体的抽象。这种本质的不同导致数组名显得与众不同。
[/Quote]
或许是受 C++ 影响,我一直觉得各种类型逻辑上应该是平等的,其标识符也应该是平等的,尽管运算规则可以不平等~
呃……该打住了……不然两个月以前让大家印象深刻的大争论又要重演了……
beefliu
2009-12-27
打赏
举报
回复
地址
slowgrace
2009-12-27
打赏
举报
回复
数组标识符和普通标识符体现了两种不同的抽象方式。数组标识符是对一个集合的抽象;而普通标识符是对一个个体的抽象。这种本质的不同导致数组名显得与众不同。
鼠
2009-12-27
打赏
举报
回复
[Quote=引用 17 楼 slowgrace 的回复:]
引用 15 楼 hpsmouse 的回复:
每次看到“数组名”这个词难免心中发毛……
数组名只是个名字,数组才是个变量……
数组这个变量用啥代表?
[/Quote]
呵呵,淡定~~
话说回来,数组是难得一见的我们经常对其名字耿耿于怀的数据类型,不觉得很有意思么?
slowgrace
2009-12-27
打赏
举报
回复
[Quote=引用 15 楼 hpsmouse 的回复:]
每次看到“数组名”这个词难免心中发毛……
数组名只是个名字,数组才是个变量……
[/Quote]
数组这个变量用啥代表?
dskit
2009-12-27
打赏
举报
回复
变量。
鼠
2009-12-27
打赏
举报
回复
每次看到“数组名”这个词难免心中发毛……
数组名只是个名字,数组才是个变量……
chenzhuolin1002
2009-12-27
打赏
举报
回复
const
slowgrace
2009-12-27
打赏
举报
回复
简而言之,数组名不是指针右值的时候是不可修改的左值
sicxun
2009-12-27
打赏
举报
回复
是常量
数组名只是一个符号名称
是不具有实体的
xieyc32
2009-12-27
打赏
举报
回复
学习了。。。
slowgrace
2009-12-27
打赏
举报
回复
a是变量,其类型是int[10],也就是,a就是传说中著名的“数组标识符”。
(1)当数组标识符被用作sizeof和取址(&)操作的操作数以及用于声明数组变量时,数组标识符代表整个数组,它的类型是TYPE [n]。这个时候你可以确定地说它是个变量。
(2)当数组组标识符出现在表达式中,这个标识符的类型就从“某种类型TYPE的数组”转换成一个指针右值。该指针的类型是TYPE*,该指针指向的类型是TYPE,也就是数组元素的类型,该指针指向的内存区就是数组第0号单元。这个时候它不是变量。
Randyqiu
2009-12-27
打赏
举报
回复
[Quote=引用 5 楼 supermegaboy 的回复:]
引用楼主 underuwing 的回复:
int a[10],a算变量还是常量?
变量的定义是一段命名的内存空间。但数组名是不能统一地说它是不是变量的,因为数组名有些情况下代表数组对象本身,这时候它是一个变量,例如数组对象的定义、sizeof的操作数、&运算符的操作数,这些情况下数组名是一个变量;但除上述情况外,表达式中的数组名都不是变量,因为此时数组名被转换为一个符号地址,不代表任何地址空间,并不是对象,因此不是变量。
[/Quote]
还是这位老大说的全面,向他学习。。
加载更多回复(4)
数组
名到底是不是指针? ---
数组
名与指针的区别
数组
名是指针吗?
数组
名的本质是什么,为什么会和指针产生联系?
C++
数组
长度可以为
变量
吗?
关于C++
数组
提出几点问题: 预备 先看下这两段代码
变量
作为
数组
的长度可行吗? #include <iostream> using namespace std; void func(int num) { int array[num]; // num > 0 cout << "num " << num << endl; cout << "sizeof array " << sizeof(array
1.
数组
简介:什么是
数组
???
数组
有哪四要素???
跟汤老师学Java笔记:
数组
简介 完成:第一遍 1.什么是
数组
?
数组
是用来存储相同数据类型的一组数据 声明一个
变量
就是在内存中划出一块空间 声明一个
数组
就是在内存中划出一串连续的空间 2.
数组
有哪四要素?
数组
的四要素:
数组
名称:用来区分不同的
数组
数组
元素:向
数组
中存放的数据 元素类型:
数组
元素的数据类型 元素下标:
数组
元素的编号,也称为索引,从0开始,通过下标来访问
数组
元素 ...
C++中的
数组
长度可以是
变量
吗?
C++中的
数组
长度可以是
变量
吗? #include <stdio.h> void fun(int num) { int array[num]; array[0] = 1; array[40] = 666; printf("funArray=%x\n",array); printf("funArraySize=%ld\n",sizeof(array)); printf("%d\n",array[0]); printf("%d\n",array[40]); printf("fu.
matlab
数组
名含
变量
,MATLAB使用
变量
和
数组
本文概述在任何MATLAB程序中, 数据的结构单位都是
数组
。
数组
是记录值的集合, 这些记录值被组织成行和列, 并且以单个名称已知。
数组
可以分配为向量或矩阵。术语”向量”通常用于定义仅具有一维的
数组
, 而术语”矩阵”通常用于确定具有二维或更多维的
数组
。行号说明了
数组
的大小,
数组
中的列号以及行号首先提到了。
数组
中的项目总数将是行数和列数的乘积。例如, 以下
数组
的大小为:
数组
中的各个项目均由
数组
名称...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章