这是怎么一个转变过程,为a数组的地址整体移动,输出虽然a为空,但实际上是因为在a地址上是/0,实际上数组a已经移动了,数组里的值并为改变,为啥
首先,你的strcpy函数使用时溢出了,
关于你的问题,你需要知道&a代表什么,a是数组的地址,&a是指向有10字节数组的指针,a-1是a-1的地址,&a-1是a-10的地址
还有就是数组a的地址不会改变,你可以认为a是const char *a,而且它已经有10个字节的内存
1 c语言中字符串是用char数组存储的字符,末尾必须有个\0
2 数组名表示第一个元素的地址,可通过数组名操作访问元素
3 数组名取地址为整个数组所占空间的起始地址,加减操作表示偏移整个数组的长度