第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C中空指針的指針?biāo)惴?/h1>

C中空指針的指針?biāo)惴ó?dāng)指向特定類型的指針(例如int, char, float.)它的值會(huì)隨著該數(shù)據(jù)類型的大小而增加。如果void指向大小數(shù)據(jù)的指針x是遞增的,它是如何指向的?x前面的字節(jié)?編譯器如何知道如何添加x值指針?
查看完整描述

3 回答

?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

最后結(jié)論:a上的算術(shù)void*非法在C和C+中。

GCC允許將其作為擴(kuò)展,請(qǐng)參見算術(shù)上void-和函數(shù)-指針(請(qǐng)注意,本節(jié)是手冊(cè)“C擴(kuò)展”一章的一部分)。clang和ICC可能允許void*為了與GCC兼容的目的。其他編譯器(如MSVC)不允許對(duì)void*GCC不允許-pedantic-errors標(biāo)志,或者如果-Werror-pointer-arith指定此標(biāo)志(如果您的代碼庫(kù)也必須使用MSVC編譯,則此標(biāo)志非常有用)。

C標(biāo)準(zhǔn)說話

引用摘自n 1256草稿。

標(biāo)準(zhǔn)對(duì)加法操作的描述如下:

6.5.6-2:另外,兩個(gè)操作數(shù)都應(yīng)具有算術(shù)類型,或者一個(gè)操作數(shù)應(yīng)為指向?qū)ο箢愋偷闹羔?,另一個(gè)操作數(shù)應(yīng)為整數(shù)類型。

所以,這里的問題是void*是指向“對(duì)象類型”的指針,或等效的指針,無論是void是“對(duì)象類型”?!皩?duì)象類型”的定義是:

6.2.5.1:類型被劃分為對(duì)象類型(完全描述對(duì)象的類型),功能類型(描述函數(shù)的類型),以及不完全類型(描述對(duì)象的類型,但缺少確定對(duì)象大小所需的信息)。

標(biāo)準(zhǔn)定義了void作為:

6.2.5-19:void類型包含一組空值;它是一個(gè)不能完成的不完整類型。

void是一個(gè)不完整的類型,它不是一個(gè)對(duì)象類型。因此,它不是加法運(yùn)算的有效操作數(shù)。

因此,不能對(duì)void指針。

注記

最初,人們認(rèn)為void*由于C標(biāo)準(zhǔn)的這些部分,允許使用算術(shù):

6.2.5-27:無效指針應(yīng)具有相同的表示和對(duì)齊要求作為指向字符類型的指針。

然而,

相同的表示和對(duì)齊需求意味著作為函數(shù)的參數(shù)、函數(shù)返回值和聯(lián)合成員的互換性。

所以這意味著printf("%s", x)有著相同的含義x有型char*void*,但這并不意味著您可以在void*.

編者注:對(duì)這一答復(fù)進(jìn)行了編輯,以反映最終結(jié)論。


查看完整回答
反對(duì) 回復(fù) 2019-06-19
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

指針?biāo)惴ú辉试S在void*指南針。


查看完整回答
反對(duì) 回復(fù) 2019-06-19
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)C標(biāo)準(zhǔn)不允許空隙指針?biāo)惴ㄈ欢?/trans>GNU C的大小允許空隙1.

C11標(biāo)準(zhǔn)§6.2.5

第19段

這個(gè)void類型包含一組空值;它是不完全對(duì)象類型這是無法完成的。

在GCC編譯器中運(yùn)行良好。

#include<stdio.h>int main(){
    int arr[2] = {1, 2};
    void *ptr = &arr;
    ptr = ptr + sizeof(int);
    printf("%d\n", *(int *)ptr);
    return 0;}

可能是其他編譯器生成錯(cuò)誤。


查看完整回答
反對(duì) 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 484 瀏覽

添加回答

了解更多

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)