當前位置:首頁 » 電腦資訊 » 結構體包括指針為什麼不能寫文件

結構體包括指針為什麼不能寫文件

發布時間: 2022-02-16 07:51:55

1. C語言文件、指針、結構體的問題,,,

幾個問題
1.對於你這個程序本身,讀數據到指針p,不過指針p並沒有初始化,也沒有分配內存,是一個標準的野指針,所以對其操作本身就是非法的,不死機已經不錯了
2. fread(p,sizeof(Sq),2,fp); 這個功能是讀兩個Sq出來,這個你清楚吧? 你寫入文件的也是兩個sq嗎?

3. 寫入的時候是怎麼寫入的? 有一點要注意,你這個是鏈表形式的,每個Sq都有一個指向下一個節點的指針。而這個指針代表下一個節點的內存地址首值 對於程序來說,每次分配的內存地址值不同,所以如果你寫入的包括這個首值 那麼這個首值是沒有意義的

對於鏈表向文件的讀寫,和數組是不同的
寫的時候需要把各節點分別寫入,並且最好去掉next的值,因為沒有意義
讀的時候,要依次創建每個節點,再讀取每個節點

有什麼不懂的 可以再追問

2. 為什麼無法將結構體中的內容寫入文件(C語言)

創建一個文件,然後用fprintf按照自想要的格式輸入進去

3. 未定義指針的結構體數組寫入文件

數組名就是指針
比如 struct data a[10];

a[0].a
a[0].b
a[1].a
a[1].b

4. typedef定義了結構體指針,為什麼不能在該結構體裡面用

你在那裡聲明指針時用lbp next寫法就沒有根據了,編譯到那裡時還沒有發現lbp呢!C/C++的規則是必須先聲明,後使用。你在「lb,*lbp;」後的任何地方使用就都可以了……

5. 為什麼結構體中有指針類型就不能用「=」賦值了

每個數據都是一個箱子,每個指針都是一個號碼,這個號碼對應另一個箱子
其他類型的數據用=復制時,從一個箱子變成兩個相同的箱子
指針用=復制時,從一個號碼變成兩個相同的號碼——不管變成多少個,相同的號碼永遠對應同一個箱子,當一個人去砸這個號碼對應的箱子的時候,另一個持有相同號碼的人不可能當作沒看見

6. 函數形參里有結構體指針,為什麼在頭文件生

C語言用結構體指針作函數參數
這種方式比用結構體變數作函數參數效率高,因為無需傳遞各個成員的值,只需傳遞一個地址,且函數中的結構體成員並不佔據新的內存單元,而與主調函數中的成員共享存儲單元。這種方式還可通過修改形參所指成員影響實參所對應的成員值。
例如

struct book
{
char bookname[30];
int quantity;
};
main()
{
void fun(struct book*p);
struct book book1={"Programming in C",10};
fun(&book1);
printf("%d copies\n", book1.quantity);
}
void fun(struct book*p)
{
printf("The book \" %s\" has ",p->bookname);
p->quantity -=3;
}

顯示:The book "Programming in C" has 7 copies
此外,還可將結構體數組作為函數參數;還可設計結構體指針型函數,即返回的地址是指向結構體類型數據的。

7. C語言 結構體指針字元 二進制文件寫入和讀取

當然不對了,你的結構體成員,是一個指針
sizeof(student) ,win32是4位元組,win64是8位元組
當讀入其中4個或8個位元組時,它指向的指針地址並不一定存在

你可以定義為一個字元數組

8. C語言中的結構體中定義的數字為什麼不能用指針的方法來輸出呢

p是NODE *
*p是NODE
你直接cout <<*p
和cout<<n1是同樣的效果
除非對NODE類型做了<<重載,否則就是編譯報錯了

9. 請問大家,一個結構體含有指針型的成員變數,如何有效的將這個結構體寫入文件中。

再次寫入name值就行啊
按順序讀出來, 讀出來的時候,再給name賦值。

熱點內容
賓士的改款為什麼便宜 發布:2025-01-09 18:36:41 瀏覽:998
為什麼男人喜歡說變就變了 發布:2025-01-09 18:35:03 瀏覽:498
糖尿病人為什麼眼睛老是眨 發布:2025-01-09 18:20:22 瀏覽:972
為什麼男人坐著突然停下來 發布:2025-01-09 18:18:15 瀏覽:285
小米遙控空調為什麼沒有反應 發布:2025-01-09 17:57:00 瀏覽:218
為什麼吃蘋果口感不好 發布:2025-01-09 17:54:35 瀏覽:675
小孩泡腳為什麼時間不能太長 發布:2025-01-09 17:43:20 瀏覽:508
華為手機為什麼會出現圖片保存 發布:2025-01-09 17:41:51 瀏覽:856
為什麼晚上會出現胃痛 發布:2025-01-09 17:20:25 瀏覽:744
為什麼生病的人晚上睡不著覺 發布:2025-01-09 17:14:01 瀏覽:517