百度试题 结果1 题目C语言的数组名是一个__指针___常量,不能对它进行加减和赋值等运算。相关知识点: 试题来源: 解析 指针 反馈 收藏
在C语言中,数组名是一个指向数组中第一个元素的指针,因此,数组名也是一个指针变量,其存储的是数组中第一个元素的地址。由于数组名所存储的地址是固定的,因此,数组名是一个不可变的地址常量,无法修改。在C语言中,使用数组名作为指针参数时,会自动将其转换为指向第一个元素的指针,这也是C语言中数组和指针的紧密...
2、常量指针——指向“常量”的指针(const int *p, int const *p) 常量指针本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。用法如下: int a = 10, b = 20; const int *p = &a; p = &b; // 指针...
C语言数组指针(指向数组的指针)详解 数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。以为例,该数组在内存中的分布如下图所示: 定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第...
我再次强调一下,“数组指针”,是一个指针,这个指针特别的地方在于它不是指向一个普通的变量,而是指向一个数组结构(对,不是数据结构)。也就是说它的“值”是一个数组的地址。通常我们都把数组名作为数组的地址对待,或者数组首元素的地址作为数组的地址对待,这两者在一般情况下是没有区别的(仅在一般情况下...
= 指针。数组名是一个标识符,它标识出我们之前申请的一连串内存空间,而且这个空间内的元素类型是相同的——即数组名代表的是一个内存块及这个内存块中的元素类型。只是在大多数情况下数组名会“退化”(C标准使用的decay和converted这两个词)为指向第一个元素的指针。而指针不是一种聚合类的数据结构,它保存着某一...
换句话说,可以把数组的取下标操作看成是指针算术运算的一 种形式。 下面的例子说明了数组名代表首元素地址和整个数组的区别: #include <stdio.h> int main() { /* 1.在数组定义中 int a[10]; 2.在 sizeof 运算表达式中 printf("%ld\n",sizeof(a)); 3.在取址符&中 printf("%p\n",&a); */ ...
指针是内存中一个最小单元的编号,也就是地址 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 代码语言:javascript 复制 int*p;//创建一个指针,指的就是指针变量 总结:指针就是地址,口语中所说的指针通常指的是指针变量 那我们就可以这样理解: ...
C语言中,数组名是一个不可变的指针常量,不能对它进行加、减和赋值运算。在C语言中规定,数组名是代表该数组的首地址且符合标识符书写规定的变量标识符。不能对它进行加、减和赋值运算。整个数组是以首地址开头的一块连续的内存单元。如有字符数组char c[10],设数组c的首地址为2000,也就是说c[...
正确答案:B解析:C语言中,数组名本身就是一个指针,指向数组内存的起始位置,选项A正确;可以将一个指针指向一个同类型的数组,选项C正确;指针指向一个数组后,可以通过移动指针,指向该数组中的任意一个元素,选项D正确;已经定义的数组被分配了内存空间,所以可以读入数据到数组中,未赋初值的指针没有分配内存空间,所以不...