3 回答
TA贡献1836条经验 获得超13个赞
void*
void
void*
void*
-pedantic-errors
-Werror-pointer-arith
C标准说话
6.5.6-2:另外,两个操作数都应具有算术类型,或者一个操作数应为指向对象类型的指针,另一个操作数应为整数类型。
void*
void
6.2.5.1:类型被划分为 对象类型(完全描述对象的类型), 功能类型(描述函数的类型),以及 不完全类型(描述对象的类型,但缺少确定对象大小所需的信息)。
void
6.2.5-19: void
类型包含一组空值;它是一个不能完成的不完整类型。
void
void
注记
void*
6.2.5-27:无效指针应具有 相同的表示和对齐要求作为指向字符类型的指针。
相同的表示和对齐
需求意味着作为函数的参数、函数返回值和联合成员的互换性。
printf("%s", x)
x
char*
void*
void*
.
编者注:
TA贡献1834条经验 获得超8个赞
1
.
C11标准§6.2.5
第19段
这个 void
类型包含一组空值;它是 不完全对象类型这是无法完成的。
#include<stdio.h>int main(){ int arr[2] = {1, 2}; void *ptr = &arr; ptr = ptr + sizeof(int); printf("%d\n", *(int *)ptr); return 0;}
- 3 回答
- 0 关注
- 460 浏览
添加回答
举报