"既然数组指针是指向数组的指针,指针内存放的是所对应的数组的地址,那么*p为什么不是元素而是地址呢?" 你说的中间那一段,其实已经很好的回答了你的问题。 但是你的问题,也是伪的,这里的元素,就是数组的地址,在这个问题中,是同一个东西。
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
没我这个中间层,上层就不会直接调用底层API了?
[quote=引用 42 楼 zhao4zhong1 的回复:]
[quote=引用 14 楼 fefe82 的回复:] 数组类型的对象出现在表达式中的时候,绝大部分情况会自动转化为指向数组第一个元素的指针(array-to-pointer conversion)。 如果 p 是指向数组的指针,那么 *p 就是数组,然后它将在绝大多数情况下被转化为指向数组第一个元素的指针。 这种转化在 sizeof() 里并不会发生。 =================== 注:数组不是指针。数组和指针是完全不同的类型。数组名可以当指针用,只是由于上面所说的转换的存在。
数组类型的对象出现在表达式中的时候,绝大部分情况会自动转化为指向数组第一个元素的指针(array-to-pointer conversion)。 如果 p 是指向数组的指针,那么 *p 就是数组,然后它将在绝大多数情况下被转化为指向数组第一个元素的指针。 这种转化在 sizeof() 里并不会发生。 =================== 注:数组不是指针。数组和指针是完全不同的类型。数组名可以当指针用,只是由于上面所说的转换的存在。
69,371
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧