数组是不是数据类型?如果是,是什么数据类型?在C/C中,数组是一种内置数据类型,但它不是一种基本数据类型,而是一种构造数据类型。从语义上讲,它是一组有序的相同数据元素,占据一个连续的物理空间。语言特性中对C/C数组的支持非常简单。相应的定义形式是t[n]a={初始化列表}。实际任务是分配sizeof(T)*n字节的空间,然后使这些空间中的值等于初始化列表中的值。分配空间的恢复是隐式的(对于自动变量,它在函数的末尾,对于静态变量,它在过程的末尾),不需要语言用户的干预。C/C语言特性不直接支持称为动态数组的动态线性表或数据结构。通常,手动调用库函数以按指针长度分配/释放空间,但其中的元素也可以由[]运算符引用。对于[],如果不考虑过载,则a[x]相当于*(ax),其中a是地址,x是整数偏移量,实际功(寻址)留给CPU。考虑到目标代码中的指令数,此操作的时间复杂度为O(1)(恒定时间),它与a和X的值(所谓的“瞬间”)无关。作为程序员,不可能通过C/C语言本身来干扰这个过程。如果要实现类似的函数,例如封装数组类,C可以通过重载操作符[]并调用*,或[]作用于实现内的指针来实现。一般来说,实现的复杂性是O(1)。===[原始响应组]
名称栏目:数组的概念和特点数组是不是数据类型?如果是,是什么数据类型?-创新互联
标题来源:
http://cxhlcq.com/article/cegcid.html