黑马程序员技术交流社区

标题: sizeof [打印本页]

作者: 会飞得猪    时间: 2016-2-21 22:44
标题: sizeof
1>什么是单目运算符
参与运算的成员只有一个,比如: 自增自减运算 以及sizeof


int a = 1;
a++;


2>什么是双目运算符
参与运算的成员有两个,比如 加减乘除取余数
int a = 1;
double b = 1.1;
double c = a/b;

3>sizeof的作用
可以打印当前编译器下的变量或者常量或者数据类型所占的字节数

4>sizeof的用法

1)打印数据类型
//#include <stdio.h>

int main()
{
    printf("%lu\n",sizeof(char));
    printf("%lu\n",sizeof(int));
    printf("%lu\n",sizeof(float));
    printf("%lu\n",sizeof(double));
    return 0;
}

2)打印变量或者/常量
常量
//#include <stdio.h>

int main()
{
   
   
    printf("%lu\n",sizeof(1.4f));
   
    return 0;
}
变量
int main()
{
    float f1 = 1.4f;
   
    printf("%lu\n",sizeof(f1));
   
    return 0;
}


//打印数据类型的时候必须要在sizeof后面加上括号 比如 sizeof(float)
//如果打印常量或者变量 你可以加也可以不加 你随意

3)常见错误 字符常量的打印
1>
//#include <stdio.h>

int main()
{
   
    // 你这样用编译器会把'c'这个字符转换成对应的ASCII码所占的字节数
    printf("%lu\n",sizeof 'c');
   
    return 0;
}
2>
//#include <stdio.h>

int main()
{
   
    // 如果你打印的是字符变量 那么打印的就是char类型真实所占的字节数 1
    char c = 'a';
    printf("%lu\n",sizeof c);
   
    return 0;
}


8.为什么用%lu打印sizeof的结果

lu : unsigned long int //本质是一个被修饰了的int 占8个字节 并且只能表示正整数包括零

//#include <stdio.h>

int main()
{
   
   
    printf("%lu\n",sizeof (unsigned long int));
   
    return 0;
}

作者: 344398083    时间: 2016-2-21 22:50
逗比  凤哥   哈哈
作者: 会飞得猪    时间: 2016-2-21 22:55
一个黑马币,你好意思的出手,切
作者: 会飞得猪    时间: 2016-2-21 22:57
344398083 发表于 2016-2-21 22:50
逗比  凤哥   哈哈

一个黑马币,你好意思的不
作者: 344398083    时间: 2016-2-21 23:05
会飞得猪 发表于 2016-2-21 22:55
一个黑马币,你好意思的出手,切

我去   一个黑马币也是我辛辛苦苦回帖挣的好不




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2