『壹』 c語言關於fwrite函數的問題
fwrite就是寫入用的函數,fread和fwrite用於讀寫各種類型的數據塊
第一個參數是讀寫數據的內存區的指針,
第3個是項數,
第2個是每一項的大小,
第4個是文件指針
fwrite返回寫出的項數,不出錯就等於要寫的項數,
所以他判斷是否和1相等來判斷出錯
他這里兆灶滾的(struck
address_list)應該用sizeof(struck
address_list)
不用fopen打開fwrite也沒法寫辯友入,
"wb"是指定fopen的怎樣打開文件,
文件如過不存在,r出錯,
a生成,並且族余寫入的數據都被添加到文件尾,w也生成
『貳』 c語言裡面的struck是什麼
是 struct吧
表示結構體。可自行網路C語言結構體
『叄』 C語言中struct是個什麼意思 怎麼用 能不能通俗點說
結構(struct)
結構是由基本數據類型構成的、並用一個標識符來命名的各種變數的組合。
結構中可以使用不同的數據類型。
結構說明和結構變數定義
在Turbo C中, 結構也是一種數據類型, 可以使用結構變數, 因此, 象其它 類型的變數一樣, 在使用結構變數時要先對其定義。定義結構變數的一般格式為:
struct 結構名
{
類型 變數名;
類型 變數名;
...
} 結構變數;
結構名是結構的標識符不是變數名。 類型為第二節中所講述的五種數據類型(整型、浮點型、字元型、指針型和 無值型)。
構成結構的每一個類型變數稱為結構成員, 它象數組的元素一樣, 但數組中 元素是以下標來訪問的, 而結構是按變數名字來訪問成員的。 下面舉一個例子來說明怎樣定義結構變數。
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
這個例子定義了一個結構名為string的結構變數person, 如果省略變數名 person, 則變成對結構的說明。用已說明的結構名也可定義結構變數。這樣定義 時上例變成:
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
}; struct string person;
如果需要定義多個具有相同形式的結構變數時用這種方法比較方便, 它先作 結構說明, 再用結構名來定義變數。
如果省略結構名, 則稱之為無名結構, 這種情況常常出現在函數內部, 用這 種結構時前面的例子變成:
struct
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} Tianyr, Liuqi;
結構作為一種數據類型, 因此定義的結構變數或結構指針變數同樣有局 部變數和全程變數, 視定義的位置而定。
結構變數名不是指向該結構的地址, 這與數組名的含義不同, 因此若需要求結構中第一個成員的首地址應該是&[結構變數名]。
(3)c語言struck擴展閱讀:
結構體變數可進行哪些運算
結構體變數不能相加、不能相減,也不能相互乘除,但結構體變數可以相互賦值。也就是說,可以將一個結構體變數賦給另一個結構體變數。但前提是這兩個結構體變數的結構體類型必須相同。
結構體變數的引用方式決定了:
「結構體變數名」可以與「結構體成員名」同名。
「結構體變數名」可以與「結構體名」同名。
「兩個結構體類型定義的結構體變數中的成員可以同名」。
就比如定義了一個結構體類型用於存放學生的信息,裡面有成員「char name[20];」,那麼如果又定義了一個結構體類型用於存放老師的信息,那麼裡面也可以有成員「char name[20];」
因為結構體成員在引用時,必須要使用「結構體變數名.成員名」的方式來引用,通過引用就可以區分它們,所以不會產生沖突,因此可以同名!
只要不沖突,都可以重名!但是兩個結構體變數名就不可以重名了,因為無法區分它們,就會產生沖突。當然這里說的是在同一個作用域內,如果在一個函數中定義一個局部變數a,那麼在另一個函數中當然也可以定義一個局部變數a。它們互不影響。
『肆』 C語言中struck用了之後怎樣使用接下來的語句
在C語言中,「^」是雙目運算符,用於完成兩個數據的按位異或操作。該運算符可以用來進行兩個數據的比較或者對一個數據中的某些位進行處理。
1、if(a^0x8)a=0;//如果a不等於08H則a=0
2、a=a^0xf0;//將a的高4位取反低4位不變後存回a
『伍』 C語言 結構體清零
結構體是直接做入參的。復制只會將qingling函數中的數據清零。應用指針
void qingling(structType* haoma){
haoma->shou = 0;
haoma->zhong = 0;
haoma->wei = 0;
}
這個和qingling(int i)函數中改i值,但調用者值不變是一回事。
『陸』 C語言中,給鏈表中的結構體中的字元數組賦值, struck Node{int i;char na
aa是字元串,p->name也是字元串,字元串不支持直接賦值的。
解決方法:
strcpy(p->鋒哪前name,aa);//該函數是把aa的值給緩輪p->name
這個函數需要包銀清含頭文件#include<string.h>
不懂追問。