首页 > 其他分享 >【C 语言基础】C风格数组初始化”={a};方式”的特性

【C 语言基础】C风格数组初始化”={a};方式”的特性

时间:2023-11-14 12:23:59浏览次数:23  
标签:初始化 intarr 20 int 特性 数组 chararr

当进行数组初始化的时候,可以采用 ={一个元素的值} 的方式,例如:

int intarr[10] = {1};
int chararr[20] = {'a'};

使用这种方式初始化,可以将数组所有成员都初始化,没有随机值,保证了安全。

其中,数组第一个值为指定元素的值,其余成员的值全为0。

 

测试代码:

#include "iostream"

using namespace::std;
int main()
{
    char chararr[20] = {'a'};//第一个被初始化为'a' 其余被初始化为0(\0)
    int intarr[20] = {1};//第一个被初始化为1,其余被初始化为0

    cout << chararr << endl;
    for(int i=0; i<20; i++)
    {
        if(chararr[i] == '\0')
        {
            cout << "This is a NULL" <<endl;
            continue;
        }
        cout << chararr[i] << " " << endl;
        //cout << intarr[i] << " " << endl;
    }

    return 0;
}

结果如下:

标签:初始化,intarr,20,int,特性,数组,chararr
From: https://www.cnblogs.com/FBsharl/p/17831314.html

相关文章

  • (十七)C#编程基础复习——数组
    和其他编程语言一样C#也支持数组,数据是一个用来存储相同类型数据的、固定大小的、具有连续内存位置的顺序集合。数组中的每个元素都对应一个索引值,索引从0开始依次递增,我们可以通过索引来访问数据中的指定元素。假如我们要存储100名学生的分数,若使用普通变量的话可能需要定义100......
  • 11月13数组以及数组常用发法
    目录1.数组2.数据的常用方法1.length方法2.push方法3.pop方法4.unshift方法5.shift方法6.slice方法7.reverse方法8.join方法9.concat方法10.sort方法特殊情况解决特殊情况的方法11.forEach方法12.splice方法null13.map方法还有用for循环取值1.数组数组的作用:使用单独的变量名来......
  • C语言0长度数组
    一、零长度数组概念众所周知,GNU/GCC在标准的C/C++基础上做了有实用性的扩展,零长度数组(ArraysofLengthZero)就是其中一个知名的扩展.多数情况下,其应用在变长数组中,其定义如下structPacket{intstate;intlen;charcData[0];//这里的0长结构体就......
  • 11月13数组以及数组常用发法
    目录1.数组2.数据的常用方法1.length方法2.push方法3.pop方法4.unshift方法5.shift方法6.slice方法7.reverse方法8.join方法9.concat方法10.sort方法特殊情况解决特殊情况的方法11.forEach方法12.splice方法null13.map方法还有用for循环取值1.数组数组的作用:使用单独的变量名来......
  • 类初始化
    2023.11.131.顺序如下父类的静态成员变量或静态代码块子类的静态成员变量或静态代码块父类的普通成员变量、代码块、父类构造方法子类的普通成员变量、代码块、子类构造方法上面加载静态域(静态变量、静态方法、静态块)的时候,注意只有静态变量、静态块需要初......
  • 数组直接通过索引修改属性值不能触发watch
    下面说法错误的是()Awatch监听对象必须设置deep:trueB数组直接通过索引修改属性值,能触发watch方法Cwatch内部可以写异步方法Dimmediate:true可以开启首次赋值监听正确答案:B因为没有getter和setter方法,所以数组直接通过索引修改属性值不能触发watchvue无法监听数组......
  • concat()返回一个新的数组,还需要用新数组替换原数组才能实现视图的更新。
    在Vue中,下列哪个选项对数组的操作不会触发视图的更新()Apush()Bshift()Cconcat()Dreverse()正确答案:Cconcat()返回一个新的数组,还需要用新数组替换原数组才能实现视图的更新。七个改变原数组且会让vue监听到的方法。push()在末尾添加一个pop()在末尾删除一个shift(......
  • 【pwn】[HGAME 2023 week1]choose_the_seat --数组越界,劫持got表
    查一下程序保护情况发现是partialrelro,说明got表是可以修改的,下一步看代码逻辑看到这一段puts(&seats[16*v0]);存在数组越界的漏洞,因为上面的代码没有对v0进行负数的限制,v0可以是负数,我们来看一下seat的数据可以发现seat上面的数据就是got表,seat到exit的距离只需要传入......
  • Object.defineProperty(obj,key,val)不可以监听数组变化,需要做特殊处理,所以Vue3.0使用
    关于Vue双向数据绑定说法错误的是()AVue实现双向数据绑定是采用数据劫持和发布者-订阅者模式BObject.defineProperty(obj,key,val)可以监听数组变化,不需要做特殊处理CVue2.0数据劫持是利用ES5的Object.defineProperty(obj,key,val)方法来劫持每个属性的getter和setterD......
  • 代码随想训练营第三十四天(Python)| 1005.K次取反后最大化的数组和、134. 加油站、135.
    1005.K次取反后最大化的数组和classSolution:deflargestSumAfterKNegations(self,nums:List[int],k:int)->int:nums.sort(key=lambdax:abs(x),reverse=True)foriinrange(len(nums)):ifnums[i]<0andk>0:......