}
}
[/Quote]
LZ试试这程序就知道怎么回事了
#include
int main()
{
printf("%d\n",sizeof("\0"));
printf("%d\n",sizeof('\0'));
return 0;
}
arong1234 2009-02-07 打赏举报 回复 这时因为你从c=0到c<=b走了b+1个字符,实际上长度是b+1而不是b
\0当然是一个字节
要想b是实际字符串长度,循环应该是c
Mynameiswuyihao 2009-02-07 打赏举报 回复 是因为数组下标从0开始吧? Mynameiswuyihao 2009-02-07 打赏举报 回复 还是不懂为什么是
还有一个问题是sizeof和strlen不一样,如果是用strlen的话,统计长度不包括'\0'字符,而且它往往就是统计第一个'\0'字符作为结束标志。 yellowhwb 2009-02-07 打赏举报 回复 字符串中,'\0'就是0,占一个字节 sagegz 2009-02-07 打赏举报 回复 '\0'是字符类型的,而字符类型只占一个字节,所以当然是一个字节啦!
sizeof()可以用来求字节数.另外帮你测试了下int跟char类型所占的字节数.
#include
int main(){
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof('\0'));
return 0;
}
一个指针占几个字节?原理是什么呢? 一个指针占几个字节的问题,感觉会C语言的同学都知道。但是在面试过程中,面了几个同学,不是答忘记了,就是两个、四个的瞎蒙。。。
那么,一个指针到底占几个字节呢?
其实,这个问题很简单,稍微上网一搜,你就知道:
一个指针在64位的计算机上,占8个字节;
一个指针在32位的计算机上,占4个字节。
这么简单的问题,为什么面试官愿意问呢?其实这个问题不是在考你的记忆能力,是在考察你的计算机基础能力。就比如,... UTF-8编码占几个字节? Blog:https://www.jsntian.com
占2个字节的:带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要二个字节编码
占3个字节的:基本等同于GBK,含21000多个汉字
占4个字节的:中日韩超大字符集里面的汉字,有5万多个
一个utf8数字占1个字节
一个utf8英文字母占1个字节
少数是汉字每个占用3个字节,多数占用... 一个字符占几个字节
ASCII码:
一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:
一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:
一个英文等于两个字节,一个中文(含繁体) 一个指针占几个字节?为什么? 一个指针在32位的计算机上,占4个字节;
一个指针在64位的计算机上,占8个字节。
指针变量里面存放的是:某一类型的数据的第一个地址值。
也就是地址值占几个字节,指针变量就占几个字节
因此,
一个指针占几个字节一个地址占几个字节
一个指针变量占几个字节
三种问法等同
===>(32/8 = 4字节,64/8 = 8字节)
指针和指针变量的区别
内存地址是内存单元的编号;
指针就是地址,地址就是指针;
指针变量就是存放地址的变量,也可以说,指针变量就是存放指针的变量
例如:
int .. c语言int占几个字节 vc,int类型占几个字节 在java中,int类型占四个字节,而byte类型占一个字节在java中,int类型占四个字节,而byte类型占一个字节。这句话在内存中怎不是的,你这是理解错误,也是被混洧了,是初学者最容易犯的错。 int 四字节没错 byte一字节也没错 但一个字节有8位哦。 先看byte,byte占一字节,一字节等于八位 我们来看看一个位能表示多少东西: 最小0 最大1 表示 2的1次方 再看看两个位能表示i...
新手乐园
33,322
社区成员
41,775
社区内容
发帖 与我相关 我的任务 新手乐园 C/C++ 新手乐园 复制链接
扫一扫 分享 确定 社区描述 C/C++ 新手乐园 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章