關於C語言結構體賦值(linux核心風格)
1 對成員賦值.
例如結構體struct st1 {
int a;
int b;
int c;
}
1.1 用{}形式.
struct st1 st1 = {1,2,3);
1.2 linux kernel風格.
struct st1 st1 = {
.a = 1;
.b = 2;
};
//注 此風格(即在成員變數之前加點“.”),可以不按成員變數的順序進行賦值。如可以為
struct st1 st1 = {
.c = 3;
.a = 1;
.b = 2;
};
2 對整體賦值.
struct st1 a, b;
b = a;
3 結構體作為函式返回值對另一個結構體賦值.
struct st1 func1();
struct st1 a = func1();
舉例:
[ctest]# vi t.c
#include
struct st1 {
int e1;
int e2;
};
struct st1 func1()
{
struct st1 h = { 77, 88};
return h;
}
int main()
{
struct st1 a = { 33, 44};
struct st1 b = {
.e1 = 55,
};
struct st1 c;
struct st1 d;
c = a;
d = func1();
printf("e1 e2 is %d %dn", a.e1, a.e2);
printf("e1 e2 is %d %dn", b.e1, b.e2);
printf("e1 e2 is %d %dn", c.e1, c.e2);
printf("e1 e2 is %d %dn", d.e1, d.e2);
return 0;
}
"t.c" 29L, 420C written
[ctest]# gcc -o a t.c
[ctest]# ./a
e1 e2 is 33 44
e1 e2 is 55 0
e1 e2 is 33 44
e1 e2 is 77 88
http://blog.163.com/a3563@126/blog/static/54675706200710134410126/
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1041624/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C 語言程式碼風格之 Linux 核心程式碼風格Linux
- C語言中結構體直接賦值?C語言結構體賦值
- c語言結構體中的一個char陣列怎麼賦值?C語言結構體陣列賦值
- C語言結構體大小分析C語言結構體
- C語言結構體專題C語言結構體
- Linux核心C語言將升級LinuxC語言
- C語言結構體作為形參C語言結構體
- C語言-->(十四)結構體、巨集、編譯C語言結構體編譯
- 資料結構C語言|佇列相關資料結構C語言佇列
- 關於c語言輸入字串的總結C語言字串
- C語言教程——03 C語言結構C語言
- 最全面的C結構體的初始化和賦值結構體賦值
- 關於C語言的常量C語言
- 關於大數(C語言)C語言
- C語言-選擇結構C語言
- 終於!“30 歲”的 Linux 核心 C 語言將升級到 C11Linux
- Go 語言 結構體Go結構體
- C 語言結構體記憶體佈局問題結構體記憶體
- C語言結構體記憶體佈局問題C語言結構體記憶體
- Linux核心筆記003 - Linux核心程式碼裡面的C語言和組合語言Linux筆記C語言組合語言
- C語言騷操作:結構體初始化方法C語言結構體
- “c語言+結構體+連結串列”實現名片系統C語言結構體
- Linux核心學習—— 1核心體系結構Linux
- C語言之結構體C語言結構體
- dotnet C# 給結構體欄位賦值非執行緒安全C#結構體賦值執行緒
- C語言學習筆記:結構體與指標C語言筆記結構體指標
- Go 語言 結構體連結串列Go結構體
- 關於C語言的位運算子C語言
- 在資料結構與演算法中 傳值方式(C語言)資料結構演算法C語言
- C++語法-結構體C++結構體
- C語言中結構體感悟C語言結構體
- Go 語言 結構體和方法Go結構體
- go語言學習-結構體Go結構體
- 程式語言語法:`=`表示賦值,`:`表示型別。賦值型別
- C語言兩結構體之間的成員互換C語言結構體
- 如何系統學習C 語言(中)之 結構體篇結構體
- Linus終於被勸動:用了30年的Linux核心C語言將升級LinuxC語言
- Linux-C語言LinuxC語言
- 軟體架構風格——閉環架構風格(過程風格)架構