真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

位段【C語言】-創(chuàng)新互聯(lián)

目錄

10年積累的網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有興隆免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

一、什么是位段

二、位段的內(nèi)存分配

三、位段的跨平臺問題

四、舉例


一、什么是位段

位段的聲明和結(jié)構(gòu)體類似,但有兩個不同:

1、位段的成員必須是int、unsigned int或signed int(char其實也可以)

2、位段的成員名后邊有一個冒號和一個數(shù)字。

eg:

struct A
{
    int a:2;
    int b:5;
    int c:10;
    int d:30;
};

A就是一個位段類型

那位段A的大小是多少呢?這就不得不先講講位段的內(nèi)存分配問題。

二、位段的內(nèi)存分配

1、位段的成員可以是unsigned int,signed int或char

2、位段空間上是按照需要以4個字節(jié)(int)或者1個字節(jié)(char)的方式來開辟的。

3、位段涉及很多不確定因素,位段是不跨平臺的,注重可移植的程序應(yīng)該避免使用位段。

三、位段的跨平臺問題

1、int位段被當成有符號數(shù)還是無符號數(shù)是不確定的。

2、位段中大位的數(shù)目不能確定。(16位機器大16,32位機器大32,寫成27,在16位機器下就會出問題)

3、位段中的成員在內(nèi)存中從左向右分配還是從右向左分配標準尚未定義。

4、當一個結(jié)構(gòu)體包含兩個位段,第二個位段成員比較大,無法容納第一個位段剩余位時,是舍棄剩余位還是利用,這是不確定的。

四、舉例

在vs2019環(huán)境下舉例:首先,int是32bit的,a占了2bit,b占5bit,c占10bit

然后,這32字節(jié)就只剩下15個bit了,不夠30bit,所以,再拿32bit給d,struct

A就總共占8字節(jié)(64bit)。

struct A
{
    int a:2;
    int b:5;
    int c:10;
    int d:30;
};

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當前題目:位段【C語言】-創(chuàng)新互聯(lián)
URL地址:http://weahome.cn/article/escch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部