1. 数组和指针的区别:
- 概念:
- 数组:数组是用于存储多个相同类型数据的集合,数组名是首元素的地址。
- 指针:指针相当于一个变量,但是它和普通变量不一样,它存放的是其他变量在内存中的地址,指针名指向了内存的首地址。
- 区别:
- 数组是直接访问数据,指针是间接访问数据;
- 赋值:
- 同类型指针变量可以相互赋值;
- 数组不行,只能一个元素一个元素的赋值或拷贝;
- 存储方式:
- 数组:数组在内存中是连续存放的,开辟一块连续的内存空间。数组是根据数组下标进行访问的,数组的存储空间,不是在静态区就是在栈区中;
- 指针:指针很灵活,它可以指向任意类型的数据。在32位操作系统下指针大小为4字节,在64位操作系统下指针大小为8字节;
- 内存容量:
- 用运算符sizeof可以计算出数组的容量(字节数)
- sizeof计算指针时得到的是一个指针变量的字节数,而不是指针指向内存的容量;
2.数组和指针的联系:
- 在作为函数参数时,数组会退化成为指针,故此时数组参数和指针参数等价
- 数组名在多数情况下可以看做时常量指针,其值不能改变
- *(arry+i) <==> arry[i]
本文详细介绍了数组和指针的概念,包括它们的区别和联系。数组是一组相同类型数据的集合,而指针存储的是内存地址。数组直接访问数据,指针间接访问,且指针可相互赋值,而数组不能。数组在内存中连续存放,指针则可灵活指向任意类型数据。在函数参数传递时,数组退化为指针。二者在访问和使用上具有密切关系。
2200

被折叠的 条评论
为什么被折叠?



