在C语言中数组名是一个什么的常量

如题所述

数组名是代表该数组的首地址且符合标识符书写规定的变量标识符。

整个数组是以首地址开头的一块连续的内存单元。如有字符数组char c[10],设数组c的首地址为2000,也就是说c[0]单元地址为2000。则数组名c就代表这个首地址。

因此,在使用scanf()函数的时候,变量c前是不能添加地址运算符&的,scanf("%s",&c);则是错误的的写法。

扩展资料:

数组名的作用:

1、声明数组变量的作用:

数组说明的一般形式为:类型说明符 数组名 [常量表达式]; 其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。

2、应用数组元素:

数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

参考资料来源:百度百科-数组

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-28
在C语言中数组名就是一个指向同名数组首地址的一个(该数组元素类型的)指针常量。
例如:
int a[100];
那么,a就是一个指向a[0]的int 型的指针常量。
第2个回答  2012-06-11
int [10] 类型
理解成:int数组类型,数组大小为10。
你可以使用这个查看:
#include <iostream>
using namespace std;
int main()
{
int ar[10];
cout<<typeid(ar).name()<<endl;
return 0;
}
或者你在编译器里面单步调试到int ar[10],然后在变量查看窗口里面可以看到该变量ar的类型。
第3个回答  2012-06-10
数组名代表该数组的起始地址,没别的意思,你可以用VC++调试,可以看到数组名,就是一个地址
第4个回答  2012-06-10
int a[10]; //a的类型为const int *,是常值整型指针,不能改变a的值。本回答被提问者和网友采纳
相似回答