鱼C论坛

 找回密码
 立即注册
查看: 1427|回复: 4

[已解决]求助,第6课,为什么总是显示8字节。

[复制链接]
发表于 2018-11-10 00:39:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>

int main()
{
        int i;
        char* j;
        float k;
       
        i = 5433;
        j = "难道只有八个字节??怎么可能还是8字节";
        k = 5.56;
       
        printf("size of int is %d\n", sizeof(int));
        printf("size of i is %d\n", sizeof i);
        printf("size of char* is %d\n", sizeof(char*));
        printf("size of j is %d\n",sizeof(j));
        printf("size of float is %d\n",sizeof(float));
        printf("size of k is %d\n",sizeof k);
       
        return 0;
}
最佳答案
2018-11-10 01:48:51
你 写错了
你计算的是 char 类型的 字节是多少 不是计算里面存放了多少字节
03713.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-10 01:48:51 | 显示全部楼层    本楼为最佳答案   
你 写错了
你计算的是 char 类型的 字节是多少 不是计算里面存放了多少字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-10 02:19:58 | 显示全部楼层
字节:字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位, [1]  也表示一些计算机编程语言中的数据类型和语言字符。(取自百度百科)
字串长度:一个字符串中字符的个数。
printf("size of j is %d\n",sizeof(j));
这里的sizeof()函数获取的是字串的字节数,不是字符的长度(字节数是固定的,改变不了。字串长度是由你描述的字串决定的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-11-11 18:59:22 | 显示全部楼层
我给变量  j  定义的字符串大小已经超过了8字节了啊?但  sizeof  得到的结果总是字符串类型的大小。难道 sizeof 命令是计算数据类型的大小,而不是数据的大小?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-11 21:13:14 | 显示全部楼层
char*是定义一个指针,不是一个字符串。所以每次都是8字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-30 18:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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