C语言问题?
一维数组名a到底是第一个元素a[0]的地址还是装着a[0]地址的一个常量啊或者是装着a[0]地址的一个变量?如果数组名a是a[0]的地址讲不通啊,因为地址是一串16进制的...
一维数组名a到底是第一个元素a[0]的地址还是装着a[0]地址的一个常量啊或者是装着a[0]地址的一个变量?如果数组名a是a[0]的地址讲不通啊,因为地址是一串16进制的数字编号?什么又是常量啊,数字5是不是常量啊?我只知道变量是个装着数据的容器。谁来给个清晰的回答啊,书里又讲不清楚
展开
3个回答
展开全部
常量就是不可改变的量,包括数值常量、字符常量、表达式常量、符号常量。
比如:数值5,字符串“abc”,还有用const定义的符号常量(const int pi=3.14中的pi)。
数组名,就是数组第一个元素的地址。数组名是常量,由编译器分配具体的值,其值不可改变。
比如:数值5,字符串“abc”,还有用const定义的符号常量(const int pi=3.14中的pi)。
数组名,就是数组第一个元素的地址。数组名是常量,由编译器分配具体的值,其值不可改变。
追问
由编译器分配具体的值,这么说是不是意味着常量也是个容器,里面装着比如数字5,6,7等等,那数字5你又说是常量,感觉好矛盾啊。刚问了别人又说5是字面量
追答
我前面说了,符号常量也是常量,你看上去它跟变量差不多,就是它只能装一次值,然后就不能改变了。数组名类似定义的符号常量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询