在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
数组变量和指针变量有一点小小的区别 所以把数组指针赋值给指针变量的时候千万要小心 加入把数组赋值给指针变量,指针变量只会包含数组的地址信息 而对数组的长度一无所知 相当于指针丢失了一部分信息,我们把这种信息的丢失称为退化
只要把数组当做参数传递给函数,数组免不了退化为指针 但需要记清楚代码中那些地方发生过数组退化 因为他会引起一些不易察觉的错误
举例说明: char ar[] = "abc"; void func(char a[]) { printf("%lu",sizeof(a)); } 结果为 8 在32位平台上是4 64位平台是 8
举一个好玩的例子 int name[] = {1,4,100}; printf("%i",3[name]); 这个打印结果是100 name[3] == *(name + 3) == *(3 + name) == 3[name]
在对字符串字面量 修改的时候就会报错 char *name = "abc";
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论