日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【笔试题】C语言结构体中,不同的数据类型在32位和64位下所占字节的区别

發布時間:2024/2/28 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【笔试题】C语言结构体中,不同的数据类型在32位和64位下所占字节的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

如下C程序,在64位處理器上運行后sz的值是什么?

struct st {int *p;int i;char a; }; int sz=sizeof(struct st);

答案

16

解析

考點:

  • struct的對齊原則,注意不同的編譯器有不同的效果。
  • 不同的數據類型在32位和64位下所占字節的區別
  • 32位編譯器:

    char1個字節 char*(即指針變量): 4個字節(32位的尋址空間是2^32,32個bit,也就是4個字節。同理64位編譯器) short int : 2個字節 int4個字節 unsigned int : 4個字節 float: 4個字節 double: 8個字節 long: 4個字節 long long: 8個字節 unsigned long: 4個字節

    64位編譯器:

    char1個字節 char*(即指針變量): 8個字節 short int : 2個字節 int4個字節 unsigned int : 4個字節 float: 4個字節 double: 8個字節 long: 8個字節 long long: 8個字節 unsigned long: 8個字節

    此處指針先占用8字節。int占用4字節,滿足要求不用補齊,char占用一個字節,同時總的字節數必須滿足8的倍數即16。

    總結

    以上是生活随笔為你收集整理的【笔试题】C语言结构体中,不同的数据类型在32位和64位下所占字节的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。