自己总结的几点关于C中经常容易出错的数组知识点:
1 声明数组后,比如 int a[3], 那么通过typeid(a)得到:a的类型为int [3].
2 声明int a[3], 那么a的内涵可以理解为指向int变量的一个地址(int *),但是这个地址是不能被修改的!可以理解为a 实际是一个const int *,被隐含转为了int *======>a的类型为int [3],其含义是const int *;
由此,声明下面语法不合法:
char a[3];
a="mn";
因为a声明之后,是const变量,是不能修改的。
当然,如果仅仅想让a也指向字符串“mn”,可以调用函数strcpy(a,"mn");
char* strcpy(char *dest, const char *source);
直接调用typeid("mn")得到 “mn”的类型为const char [3].,其含义是const char*,可以带到strcpy()函数中。