解析 答案:数组是一种数据结构,用于存储相同类型的元素,可以通过下标访问元素。指针是一种变量,存储了另一个变量的内存地址。数组名可以作为指向数组首元素的指针使用,但数组本身并不是指针。指针可以被重新赋值,指向不同的内存地址,而数组的大小和内容在定义后不能改变。
指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。 下面到底哪个是数组指针,哪个是指针数组呢: A...
这两者的主要区别在于:数组名代表数组开始的内存位置,而指针可以指向任何数据类型的任何内存位置;数组的大小是固定的,一旦声明,不能改变,而指针的指向可以改变,指向不同的内存地址;数组名是一个常量,不能赋值,而指针是一个变量,可以进行赋值操作。 数组的固定大小特性是其定义的一部分。当你声明一个数组时,C语言编...
C语言的编译器 方法/步骤 1 数组名是个指针常量,保存的是数组的首地址,即“数组第一个元素的起始地址”,为什么这么说呢?因为数组的元素可能是整形,字符型,假如是整形,那么一个元素占4个字节,而每个字节都对应一个地址,那么数组名保存的地址是哪个呢?是第一个元素的第一个字节的地址。2 既然数组名是指...
实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:p=&a[0]或p=a。 这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a++、...
区别:C语言把内存划分成四个区,它把一般的变量和数组等存在于内存中的栈区,所以数组在C语言的定义中只是一组同类型的普通变量,即使这个变量有可能是指针。所以他的作用比指针小的很多,而指针可以指向任何区的任何数据,所以就会觉得指针和数组名很像,但是必须要注意的是,数组名只是指针中的一种,...
(5)指针一般指向匿名数据,而数组自身即为数据名。 指针和数组都可以通过定义时使用字符串常量进行初始化,但是两者是有区别的: 在ANSI C中,初始化指针时所创建的字符串常量通常是只读的,无法修改;而由字符串常量初始化的数组是允许修改的,其中的单个字符可以在以后改变。
指针用于存储动态分配的数组的地址,以及用于作为参数传递给函数的数组。在其他情况下,数组和指针是两个不同的东西,请参见以下程序以证明此语句的合理性。 sizeof运算符的行为 C C ++ 输出:arr []的大小24 ptr …
C语言中指针和数组区别的分析
1,指针变量用于保存数据的地址,数组用于直接保存数据(当然你可能见过,数组的每个元素是指针,不过,一组指针也是数据,它们各自的内容才是地址)2,访问方式:指针是间接访问,首先取得指针的内容作为地址,再去该地址访问数据;数组是直接访问,数组名即是地址 3,指针通常用于动态数据;数组通常用于固定...