美文网首页
C/C++数组与结构体初始化

C/C++数组与结构体初始化

作者: 404d67ac8c12 | 来源:发表于2019-08-19 20:37 被阅读0次

数组快捷初始化

常见的初始化方式有以下两种:

int anTemp[10] = {-1,  -1,-1, -1, -1, -1, -1, -1, -1, -1};  //初始化指定数据到数组
int anTemp[10];  memset(anTemp, 0, sizeof(int) * 10);       //数组清零

果如数组到长度是128或者更大呢?对于方法二还是可以接受的,使用第一种方法把数组初始化成指定内容,那就是一个噩梦,或者用循环?其实还有更简单的方法:

int anTemp[128] = {[0 ... 127] = -1}; 

对,你们没有看错,就是这样简单。

结构体初始化

我们用以下结构体为例子:

struct structTemp_t
{ 
    int iTemp; 
    int str[128]; 
}; 

以下是我们常用的初始化方式:

struct structTemp_t st_temp; 
memset(&struct_temp, 0, sizeof(struct strucTemp_t)); 

// 或者
st_temp.iTemp = -1; 
for(int i=0; i<128; i++){
    st_temp.str[i] = 'a'; 
}

实际上,还有更简便的初始化方式:

struct strucTemp_t st_temp = {.iTemp = -1, .str[0 ... 127] = '\0'}; 

// 还可以调换顺序
struct structTemp_t st_temp = {.str[0 ... 127] = '\0', .iTemp = -1}; 

扩展理解

switch 范围判断

int iTemp = 1; 
switch(iTemp) 
{ 
    case 0 ... 9:
        printf("case:%d\n",dd); 
        break; 
    default:
        printf("default:5d\n",dd); 
} 

相关文章

  • Texture之ASDisplayNodeInternal.h

    c++容器 c++类型:atomic_uint 罕见的c++语法 初始化结构体 c结构体 检查指定类是否重写了另一...

  • C语言 13 结构体数组

    C语言 13 结构体数组 结构体数组的定义 结构体数组初始化 结构体成员的使用 格式 : 字符串成员的处理 结构体...

  • C/C++数组与结构体初始化

    数组快捷初始化 常见的初始化方式有以下两种: 果如数组到长度是128或者更大呢?对于方法二还是可以接受的,使用第一...

  • Android NDK开发之旅20--C++--结构体

    Android NDK开发之旅 目录 C++ 结构体 C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构...

  • c++类相关

    c++结构体与c结构体的区别 c语言 c++ c++类的使用 类的权限管理 对类的成员的访问做限制 private...

  • C++中的结构体

    1.Cpp中的结构体 C/C++数组允许定义可存储相同类型数据项的变量,但是结构体是C++中另一种用户自定义的可用...

  • NDK开发—结构体、共用体与C++基础(三)

    目录 结构体、共用体与C++基础11、结构体字节对齐2、共用体3、C++ 输出函数符号兼容引用字符串C字符串字符串...

  • C++中结构体

    C++中结构体并不是C中的结构体了 C++的结构体更像是一种特殊的类 他与类一样 可以有public privat...

  • C++ 面向对象

    C++ 与 C语言 区别 C++ 面向对象、标准特性; C 面向过程,函数+结构体 C++可以运行C语言,反之就不...

  • c++

    c++中数组的初始化 int[] {4 };

网友评论

      本文标题:C/C++数组与结构体初始化

      本文链接:https://www.haomeiwen.com/subject/qhaesctx.html