知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》和《征服C指针》,《C和指针》,有兴趣的朋友可以看我置顶文章获取
数组的本质:
- 数组是一段连续的内存空间
- 数组的空间大小为sizeof(array_type)*array_size
- 数组名可以看做指向数组的第一个元素的常量指针(只是理解,其实是错的,参见《征服C指针》)
实验1:a+1的结果是什么?
#include
int main()
{
int a[5] = {0};
int* p = NULL;
printf("a = 0x%X\n", (unsigned int)(a));
printf("a + 1 = 0x%X\n", (unsigned int)(a + 1));
printf("p = 0x%X\n", (unsigned int)(p));
printf(&