程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c結構體初始化問題,c結構初始化

c結構體初始化問題,c結構初始化

編輯:關於C語言

c結構體初始化問題,c結構初始化


結構體中的數組的初始化問題 我的代碼

C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b;
int main()
{ 
    b.c={1,2,3,4,5};

 }

 

調試時編譯器報錯,求指點

------解決方案-------------------- 你那個結構體屬於全局變量,在進入main之前就已經分配空間了。

{}只能用來來初始化,只有在定義的時候能用。給數組賦值是不能用{}的。

你的代碼應該改成這樣

C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b={0,1,2,3,4,5};//0是初始化給length的,後面5個是給數組的,要按順序。
int main()
{ 

}
------解決方案--------------------

C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
    {
    int length;
    int c[5];
    }b;
int main()
{ 
int i;
for(i=0;i<5;i++)
    b.c[i]=i+1;  
 }

 

------解決方案-------------------- 參考普通的數組 {1,2,3,4,5}這樣的初始化只能在定義的時候

分配空間只能逐個賦值或者用循環賦值

字符組數的初始化同上。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved