'}数组中第一个为'',其他的全为0'&"og:type" content="webpage">'}数组中第一个为'',其他的全为0'&" /> '}数组中第一个为'',其他的全为0'&"> c语言数组,char str[256]={''};什么意思_CMS教程_内存溢出
登录
CMS教程

CMS教程

c语言数组,char str[256]={''};什么意思,第1张阅读14

一句话包含两个意思

1定义以256个字符型(char)为单位的组成

数组

str

2str内的256个字符变量全部赋值为ASCII的0

解释下

={'\0'}

数组中第一个为'\0',其他的全为0

'\0'其实就是0

同时可以表示字符串结束

也就是说数组内全是0

char

a[4]={1,2,3}

char

a[4]={1,2,3,0}

一个意思

char

a[4]={0}与char

a[4]={0,0,0,0}一个意思

char

a[4]={'\0'}与char

a[4]={0}一个意思

char

a[4]={'\0'}与char

a[4]={0,0,0,0}一个意思

chara[256]={'\0'}与chara[256]={0,0,0,00,0,0}一个意思

char只有1个

字节

(BYTE),也就是8个位(bit)

您的char c=256;256用二进制表示的话是100000000,也就是低8位全部为0。而char类型的c只能保存8bit的数据(也就是低8位)所以实际上c=0。

同理,255的二进制表达方式为11111111,因为char类型是有符号的类型(其对应的无符号类型为unsigned char),所以其最高位为符号位,符号位为0时时正数,为1是负数。而取值方法使用“补码"。

至于补码的详细信息,请参考

相信看完之后您就理解了。

char name[256]={0};//初始化程序拿出啦,不然报错

switch(id)

{

case IDC_BTN1:

GetDlgItemText(hwnd,IDC_EDTNAME,name,sizeof(name)/sizeof(char));

MessageBox(NULL,name,TEXT("问好"),MB_OK);

break;

case IDC_BTN2:

MessageBox(NULL,TEXT("是否退出"),TEXT("退出"),MB_OK|MB_ICONWARNING);

break;

default:break;

}

所谓union(联合)的意思是,前后定义的变量公用一个存储器地址

根据stu的定义,i的地址最低字节与c[0]共用,i的地址高1字节与c[1]共用

假定int变量占用4字节,起始地址是80000000H,那么内存分配情况如下所示:

(由于百度知道不利于空格对齐显示,上述我用记事本写了个说明)

八进制和十六进制可以直接用%o和%x输出。

二进制这里自己弄了下。

#include <stdioh>

int main(int argc, char argv[])

{

    int i, j, n;

    char two[9] = {0};

    for(i = 1; i <= 255; i++)

    {

        /十进制/

        printf("%4d",i);

        /二进制/

        for(j=7, n=i; j>=0; j--, n>>=1)

        {

            two[j]=(n & 1) + '0';

        }

        printf("%9s", two);

        /八进制/

        printf("%4o", i);

        /十六进制/

        printf("%3x\n", i);

    }

    return 0;

}

以上就是关于c语言数组,char str[256]={'\0'};什么意思全部的内容,包括:c语言数组,char str[256]={'\0'};什么意思、#include <stdio.h> void main() { char c=256; int a=c; printf("%d\n",a); }、char name[256];总是出错,这段代码有谁能帮我看看嘛等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:

内存溢出
字节
补码
微信扫一扫支付宝扫一扫打赏
微信扫一扫
支付宝扫一扫
验收单
上一篇
下一篇
2023-05-06

发表评论
请登录后评论...
登录
后才能评论

提交
    评论列表(0条)防滑垫
    兑美元
    {label}{label}保存{label}{label}{label}{label}