1、你肯定知道,定义int a[10],a[10]这个元素是无效的;
知道
2. 数组初始化的方法:
待补充
3.数组和指针有千丝万缕的联系而又不同,你是否对他们在不同情况下的使用进行过详
细的总结?
4. “int calendar[10][20]; ”,这是一个什么样的数组?它拥有 10 数组类型的元素,还
是 20 个?
int calendar[10][20]:是10个长度为20个一维数组;
5. a[10],数组名本质上是什么?你是否打印过a的值?
答:数组名a本质上是数组一个元素的地址。
6. 你知道几种获取数组的方法?
(1)a[i],(2)*(a+i),(3)p=a, *(p + i)获取
7. 指针和数组相同吗?什么时候相同?什么时候不同?
指针和数组是不同的。只有如下情况相同:
(1)表达式中的数组名(与声明不同)被编译器当做一个指向该数组的第一个元素的指针:
int a[10],*p,i = 2;
表达式: p = a; *(p + i), p = a + i;
(2)下标总是与指针的偏移量相等;
(3)作为函数的参数的数组名,等于指针
8. 使用指针和下标访问,那种方式更快?
维数组和指针应用所产生的代码并不具有明显的差别。
数组下标是定义在指针基础上的,所以优化器常常可以把他们装换成为更有效率的指针表达式,并生成相应的机器指令;
用指针迭代一个一维数组常常也并不比之终结使用下标迭代一个一位数组来得快。无论是使用指针还是数组,在连续内存地址移动的时候,编译器都必须计算每次前进的步长,计算的方法就是偏移量乘以每个数组元素占用的字节数。
在处理一维数组的时候,指针并不见得比数组更快。C语言把数组下标改写成为指针偏移量的根本原因是指针和偏移量是底层硬件模型说使用的基本模型
原文链接:https://blog.csdn.net/randyjiawenjie/java/article/details/6342445





B2C电商系统商城源码支持pC+小程序+公众号+H5可打包App源...
原生开发淘宝客App,Android+ios独立开发,全开源支持二...
知识付费系统在线教育平台源码+题库系统源码,PC+公众号商业授权...
B2C单商户电商系统源码部署小程序+公众号+H5+App源码...
教育知识付费系统源码带题库功能商业授权公众号+H5源码...