求助,第6课,为什么总是显示8字节。
#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;
} 你 写错了
你计算的是 char 类型的 字节是多少 不是计算里面存放了多少字节
字节:字节(Byte /bait/ n. )是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位, 也表示一些计算机编程语言中的数据类型和语言字符。(取自百度百科)
字串长度:一个字符串中字符的个数。
printf("size of j is %d\n",sizeof(j));
这里的sizeof()函数获取的是字串的字节数,不是字符的长度(字节数是固定的,改变不了。字串长度是由你描述的字串决定的) 我给变量j定义的字符串大小已经超过了8字节了啊?但sizeof得到的结果总是字符串类型的大小。难道 sizeof 命令是计算数据类型的大小,而不是数据的大小? char*是定义一个指针,不是一个字符串。所以每次都是8字节。
页:
[1]