'\0'占几个字节

'\0'占几个字节

社区

新手乐园 帖子详情 '\0'占几个字节 Mynameiswuyihao 2009-02-07 12:45:09 字符串末尾的'\0'占多少字节?

#include

int main()

{

char a[]="abcdefg";int b,c;

b=sizeof(a)/sizeof(char)-2; //这里要减2,是因为'\0'占两个字节吗?

for(c=0;c<=b;c++)

{

a[c]=a[c]+1;

cout<

}

}

...全文

3848 11 打赏 收藏 '\0'占几个字节 字符串末尾的'\0'占多少字节? #include int main() { char a[]="abcdefg";int b,c; b=sizeof(a)/sizeof(char)-2; //这里要减2,是因为'\0'占两个字节吗? for(c=0;c<=b;c++) { a[c]=a[c]+1; cout<

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 ljmscsq 2009-02-07 打赏举报 回复 '\0'是一个字符,所以是一个字节。

数组下标是从0开始算的。

sizeof(a)是a数组的实际大小。7个字母加'\0'所以是8

如果b=sizeof(a)/sizeof(char)-1;

那么你程序就要这样

for(c=0;c

{

a[c]=a[c]+1;

cout<

} waizqfor 2009-02-07 打赏举报 回复 [Quote=引用楼主 Mynameiswuyihao 的帖子:]

字符串末尾的'\0'占多少字节?

C/C++ code#include

int main()

{

char a[]="abcdefg";int b,c;

b=sizeof(a)/sizeof(char)-2; //这里要减2,是因为'\0'占两个字节吗?

for(c=0;c<=b;c++)

{

a[c]=a[c]+1;

cout<

}

}

[/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写文章

相关推荐

螽斯原文、翻译及赏析、拼音版及朗读 bt365网站
如何解决QQ浏览器不显示搜索框的问题 bt365网站
乔丹世界杯传奇:乔丹足球辉煌历程与未来展望 博大365