六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

32位/64位机上常用数据类型字节数(C语言)(转的)

[复制链接]

升级  76%

48

主题

48

主题

48

主题

秀才

Rank: 2

积分
164
 楼主| 发表于 2013-1-26 12:26:16 | 显示全部楼层 |阅读模式
<span style="font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; font-size: 14px; line-height: 25px;">可用如sizeof(char),sizeof(char*)等得出<div class="articalContent" style="padding: 0px; margin: 0px;">32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32,即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:  4个字节
long long:  8个字节
unsigned long: 4个字节
 
64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:  8个字节
long long:  8个字节
unsigned long: 8个字节
 
 

#import <Foundation/Foundation.h>
struct {
    short a1;
    short a2;
    short a3;
}A;
struct {
   long long a1;
    short a2;
}B;
 
int main (int argc, const char * argv[])
{
 
    @autoreleasepool {
 
        char *ss1="0123456789";
        char ss2[]="0123456789";
        char ss3[100]="0123456789";
        int ss4[100];
        char q1[]="abc";
        char q2="a\n";
        char *q3="a\n";
        char *str1=(char *)malloc(100);
        void *str2=(void *)malloc(100);
        NSLog(@"%lu",sizeof(ss1));//8
        NSLog(@"%lu",sizeof(ss2));//11
        NSLog(@"%lu",sizeof(ss3));//100
        NSLog(@"%lu",sizeof(ss4));//400
        NSLog(@"%lu",sizeof(q1));//4
        NSLog(@"%lu",sizeof(q2));//1
        NSLog(@"%lu",sizeof(q3));//8
        NSLog(@"%lu",sizeof(str1));//8
        NSLog(@"%lu",sizeof(str2));//8
        NSLog(@"%lu",sizeof(A));//6
        NSLog(@"%lu",sizeof(B));//16
 
 
 
 
 
    }
    return 0;
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表