char buf[1024]={0};是什么意思?

char buf[1024*4]={0}; 那这个呢?能说详细点吗? vc 我对编程一点不懂..
2025-02-03 05:01:58
推荐回答(4个)
回答1:

char buf[1024]={0}; 就是临时申请一个 1024大的空间(又叫buffer),并且初始化为0。

char buf[1024*4]={0}; 这个和上面一摸一样,临时申请了一个 1024*4 大的空间,并初始化为0。

回答2:

表示定义了一个大小为1024的char数组,并将所有元素赋值为0。

这个语法是数组的列表初始化。如果列表元素数n小于数组大小,则将数组的前n个元素初始化为列表里的元素,其他元素执行默认初始化,对于基本内置类型而言,就是初始化为0。

样例

#include 

int main()
{
    int a[2] = {1};
    std::cout << a[1] << std::endl; //输出0
    return 0;
}

回答3:

将字符数组buf定义为各个元素的初始值为0,就是字符'\0'

回答4:

你这样写是错误的
char bur[]=new char[1024];
或者 char bur[]=new char[]{0};
要么给字符数组创建固定大小的数组 要么给他初始赋值
。。。朋友 你是在写java还是其他语言啊 ?java中 是不能这样写的 char bur[]=new char[1024*4];这样是允许的