3 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
void*
void
void*
void*
-pedantic-errors
-Werror-pointer-arith
C標(biāo)準(zhǔn)說話
6.5.6-2:另外,兩個(gè)操作數(shù)都應(yīng)具有算術(shù)類型,或者一個(gè)操作數(shù)應(yīng)為指向?qū)ο箢愋偷闹羔?,另一個(gè)操作數(shù)應(yīng)為整數(shù)類型。
void*
void
6.2.5.1:類型被劃分為 對(duì)象類型(完全描述對(duì)象的類型), 功能類型(描述函數(shù)的類型),以及 不完全類型(描述對(duì)象的類型,但缺少確定對(duì)象大小所需的信息)。
void
6.2.5-19: void
類型包含一組空值;它是一個(gè)不能完成的不完整類型。
void
void
注記
void*
6.2.5-27:無效指針應(yīng)具有 相同的表示和對(duì)齊要求作為指向字符類型的指針。
相同的表示和對(duì)齊
需求意味著作為函數(shù)的參數(shù)、函數(shù)返回值和聯(lián)合成員的互換性。
printf("%s", x)
x
char*
void*
void*
.
編者注:

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
1
.
C11標(biāo)準(zhǔn)§6.2.5
第19段
這個(gè) void
類型包含一組空值;它是 不完全對(duì)象類型這是無法完成的。
#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 關(guān)注
- 484 瀏覽