Appearance
概念
C 语言中的数组是连续的相同数据类型的变量的集合 . 在内存地址上是连续的空间 . 这点和 JavaScript 这种脚本语言不太一样 , 不过想要实现复合类型的数组采用 C语言结构体 数组的方式即可 .
数组变量和指针的区别
c
int a[5];
int *b;- 数组变量在声明的时候必须指定长度,如果直接初始化,可以通过初始化数据长度省略数字;指针不包含长度,它的大小由系统架构固定,64位下是8字节;
- 数组变量表示整个数组,它的值是首元素的地址;指针可以指向任意一个数据,它的值是存储的地址;(简单来说,数组变量不能指向内部某元素,而指针可以);
- 数组变量不支持算数运算,如果运算会有隐式转换;
- 数组传入函数的时候,会有到指针的隐式转换,导致长度丢失。面试题