zjjzmw1 发表于 2013-1-26 12:26:16

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

<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;
}
页: [1]
查看完整版本: 32位/64位机上常用数据类型字节数(C语言)(转的)