簡體   English   中英

數組初始化

[英]array initializing

我在Linux中遇到了這種代碼構造,並且想了解它

struct mystruct {
  int x;
  int b[40];
};


/*later */

static struct mystruct e = { .x = 5,
                             .b = {-1},   
                           };

.b = {-1}是做什么的? 它是否僅初始化數組b的第一個或所有元素? 它是如何工作的 ?

static struct mystruct e = {
    .x = 5,
    .b = {-1},   
             };

在這里它將b [0]初始化為-1。 其他元素初始化為0。

這意味着使用以-1開頭,然后為0的數組初始化結構的成員b

  • .b =是GCC擴展名。 (如前所述,這也是C99的一部分)
  • {-1}是標准數組初始化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM