1樓:擦擦設定
這個是有原理的。
簡單說一下吧:
1.要從陣列開始說。
比如int a[10]=;其實系統只是把第一個數賦值為0,其他的數因為沒有引數,系統自動初始化為0,對於int型來說。對於char來說就是『\0x0』。其他的型別類似。
如果是int a[10]=;那麼就是第一個數是1,其他的數是0。就是1,0,0,0.......
2.下面到結構。結構和陣列有點類似;
比如:typedef struct texttext;
如果我寫了text temp=;那麼就可以正常全部初始化成功,引數符合。
如果我寫了text temp1=;那麼就會變成給這個結構固定的引數賦值,這裡是給a賦值,其他的引數類似陣列全部系統自己初始化。
那麼如果寫了text temp2={};?就會變成直接全部系統初始化。具體類似於int a[10]={};
參考資料
可以參考**:
測試平臺:devc++
#include
#include
typedef struct texttext;
int main();
int b[10]=;
int c[10]=;
int i;
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d",b[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d",c[i]);
printf("\n");
text temp=;
printf("%d %f %s\n",temp.a,temp.b,temp.c);
text temp1=;
printf("%d %d %s\n",temp1.a,temp1.b,temp1.c);
text temp2={};
printf("%d %d %s\n",temp2.a,temp2.b,temp2.c);
return 0;}
2樓:牟寰藺醉香
你這裡只定義了一個結構體,但是沒有示例。應改為:
typedef
struct
ledvalue;
struct
ledvalue
ledval=;
3樓:捷冰時蘊涵
data
myvar1=;
如果該域的值是確定的,可以使用常量。
如果希望給域一個預設值,是行不通的。要設定一個變數,必須有對應的指令,不能憑空改變。在c++中這個過程可以在建構函式中實現,而c則不行。
個人觀點,僅供參考!
如何在初始化列表中初始化結構體
4樓:一騎當後
你好,試試這個。
c/c++ code
struct point
};class ctest
private:
int m_icount;
point m_point;
5樓:
c/c++ code
struct point
};class ctest
private:
int m_icount;
point m_point;
6樓:聳錄世界觀
struct a a1 = ;
結構體巢狀結構體怎麼初始化?
7樓:匿名使用者
按你寫的第二個例子
student[0].date.day=10;...
8樓:匿名使用者
student[1].date.day=?;
student[1].date.month=?;
student[1].date.year=?;
其他照就舊
9樓:
你的定義分號打錯地方了吧,呵呵,內部那個結構體
還有一個疑問,你內部的結構體有變數例項嗎?沒有你怎麼賦值啊?
如何對結構體變數進行初始化?
10樓:可兒
結構體初始化可以再定義時制定初始值,如:
struct
student
int num;
char name[20];
} student1 =
;也可以採取申明型別與定義變數分開的形式,在定義變數時進行初始化:
student student1 =
。在c語言中,結構體(struct)指的是一種資料結構,是c語言中聚合資料型別(aggregate data
type)的一類。
結構體可以被宣告為變數、指標或陣列等,用以實現較複雜的資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的型別,成員一般用名字訪問。
c語言結構體初始化
11樓:蛆蟲腐屍
你已經定義了一個mem1,下一句又定義了一個mem1,所以它會提示你多次定義了,應該把第二個struct mem去掉吧
12樓:匿名使用者
struct mem mem1=;
變成 mem1=;
估計是vc6.0 把它當做c++來處理了
13樓:
一眼就看出問題了。去掉倒數第三行 mem1 前面的struct mem 就解決了
c++ 結構體初始化的問題
14樓:匿名使用者
第一個問題,不能這樣初始化,需要
inflatable a=;集合中至少需要1個元素方可作為初始化列表,專業會將name、volume、price的所有位元組全部初始化為0。
第二個問題,如果結構體包含有string a;那麼就不能使用初始化列表初始化了。
也就是說
inflatable a=會編譯不成功,因為string類有建構函式,具備有建構函式的成員的結構體不能用=的方式進行初始化。
如何對結構體變數進行初始化?
c語言結構體初始化操作是什麼意思
15樓:veket的小號
定義變數的同時給變數賦值 即為變數的初始化,例如: int year = 2003;
結構體 也類似的啦,
struct book
;struct book book_1 = ;
16樓:匿名使用者
其實結構體如同一個資料型別(整形 字元型。。。),初始化操作是賦予結構體儲存空間的大小,如整形只能儲存4個位元組大小的空間。
c語言memset初始化結構體問題
1.memset函式的原型void memset void s,char ch,size t n 函式的第一個形式引數是指標型別,所以實參因為一個地址,即 a注意 a與a是不同的.a是結構體變數名,而 a是變數a的地址.2.另外memset 是一個庫函式函式,需要加標頭檔案 include 3.正如...
xp系統初始化命令,XP系統初始化命令
要是配置一般的電腦建議用深度或雨木林風。xp系統怎麼初始化?朋友你好 在c盤重灌系統。格式化所有邏輯分割槽,這樣就成了乾淨的電腦系統,沒有任何資訊和應用軟體的邏輯盤。洗完能幫到你。如果電腦自帶恢復軟體的話,直接恢復到出廠設定就好了。如果沒有的話,重灌一下系統吧。比較笨的辦法是把其它分割槽格式化,解除...
磁碟顯示未初始化怎麼辦,磁碟沒有初始化
這種情況多半是硬碟壞了,如果是剛買不久的盤,那儘快聯絡售後。如果硬碟上的資料比較重要,那就得先進行資料恢復。可以先嚐試用軟體進行恢復,如果軟體處理不了,就得找專業人員進行恢復了,情況嚴重的會需要進行開盤恢復資料。硬碟連線後不顯示,說硬碟沒有初始化,未知 1.開始 控制面板 管理工具 計算機管理 磁碟...