数组名的知识总结
数组名的本质
数组名可以看成是指向这个数组的首地址的指针,不过它是当做一个地址常量使用,同时,它还可以表示这个数组的长度。
1 | int a[5]; |
a和&a的区别
&a是整个数组的首地址,a是数组首元素的首地址,其值相同,但是意义不同。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#include <iostream>
using namespace std;
int main()
{
int a[2] = {1,2};
cout << a <<endl;
cout << &a <<endl;
//相当于:a + 1 * sizeof(int)
cout << a + 1<< endl;
//相当于:a + 2 * sizeof(int),得到的值为最后一个元素的下一个地址
cout << &a + 1 << endl;
return 0;
}
/**********************
0x7ffe8319e670
0x7ffe8319e670
0x7ffe8319e674
0x7ffe8319e678
***********************/
笔试题
1 | #include <stdio.h> |