當前位置:首頁 » 編程語言 » c語言清空結構體

c語言清空結構體

發布時間: 2022-09-27 23:59:50

1. 在c語言中,怎麼刪除一個結構體數組中的數據

滿意答案null6級2010-12-10你是想單純的刪除
,還是注銷這個結構體的這一項啊
追問:
把結構體中存的所有數據刪除
回答:
要是是int型的我們一般把它等於0要是是指針型的一般是把他指向空指針NULLstruct
A{int
a;char
*b;}dd;main(){dd.a=0;
dd.b==NULL;}可是這么做好像沒事意思,你能告訴我你是想幹嘛嗎
追問:
學生信息管理系統中有一個結構體數組,存有學生姓名char(20),學號int,等信息,要實現該程序的全部刪除功能
回答:
那可以像上面我教的的那樣,其實就是用0和NULL把原來的值給覆蓋了,原來的數據自然就沒有了,也就是實現了你的刪除的目的!

2. C語言 如何將所有結構數組的變數全部清為0

需包含<memory.h> 或 <string.h>
void *memset(void *s, int ch, size_t n);
函數解釋:將s中當前位置後面的n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法。
memset(結構數組名,0, sizeof(結構數組名) );

3. C語言 結構體清零

結構體是直接做入參的。復制只會將qingling函數中的數據清零。應用指針
void qingling(structType* haoma){
haoma->shou = 0;
haoma->zhong = 0;
haoma->wei = 0;
}

這個和qingling(int i)函數中改i值,但調用者值不變是一回事。

4. c語言中如何將結構中變數清空

1、首先,我們首先定義四個變數。

5. C語言里如何清空結構體內的數據

memset((char*)&test,0,sizeof(test));試試。我是這么做的·。 補充: 或許是for(i=o;i<10;i++)memset((char*)&test[i],0,sizeof(test[i]));//裡面的i是你想要清空的那個變數 追問: 能詳細講解一下這兩個地方嗎(char*)&test \sizeof(test) 回答: 函數原型:memset(void *, int, size_t);(char*)&test 是第一個參數,表示test結構體的首地址&test強制轉化為char型的。sizeof(test)是計算test結構體的大小0表示清空。 追問: sizeof()裡面的結構體可以用結構體指針代替嗎? 回答: 應該不行·。sizeof()括弧里是數據類型,所以貌似我上面寫錯。應該是memset((char*)&test1[i],0,sizeof(test)); 追問: 好像我用指針也通過了,........竟然沒報錯,而且數據也確實清空了

6. C語言里如何清空結構體內的數據

memset((char*)&test,0,sizeof(test));試試。我是這么做的·。

7. 我用C語言寫了一個學生管理系統,就是刪除功能不知如何編寫,想問問如何實現對結構體數組其中的一項清空

很簡單。
假設你定義的結構體數組大小為MaxSize=1000,你可以定義一個當前數組中的學生數Size,
該數值隨著錄入的學生信息的多少而變化。
現在假設數組中有500個學生的信息,也即Size=500;你需要刪除其中一個學生的資料。
通過查找你得到這個學生的信息存儲在第100號結構中,
那麼你將101號的學生的信息覆蓋到100號結構中(例如:student[99]=student[100]),再將102號的學生的信息復制到101號結構中,依次復制,直到將500號結構中的學生信息復制到499號結構中。然後改寫Size=499。
上面的復制過程可以通過一個for循環來實現,100號之前的結構都不用動。
這樣,當前學生結構數組中就少了原來100號結構中的學生信息,也就是刪除掉了。

8. c語言如何將結構體清零

#include <memory.h>
memset( hd1.Data , 0 , 64 );
memset( hd2.Data , 0 , 64 );
memset( hd3.Data , 0 , 64 );
memset參數1是要清零的內存起始位置,參數2是用什麼數去填充(0隻是其中一種情況),參數3表示填充個數

memset是計算機中C/C++語言函數。將s所指向的某一塊內存中的前n個 位元組的內容全部設置為ch指定的ASCII值, 塊的大小由第三個參數指定,這個函數通常為新申請的內存做初始化工作, 其返回值為指向s的指針。

void *memset(void *s, int ch, size_t n);
函數解釋:將s中前n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法

9. C語言 結構體元素刪除

#include<stdio.h>
structPeople
{
intNo;
intage;
};
intmain()
{
structPeopleStus[5]={{1,34},{2,23},{3,25},{4,28},{5,31}};
inti,id,k=0;
scanf("%d",&id);
for(i=0;i<5;i++)
{
if(id==Stus[i].No)
k=1;
if(k)
Stus[i]=Stus[i+1];
}
k=0;
for(i=0;i<4;i++)
{
printf("%d%d ",Stus[i].No,Stus[i].age);
}
return1;
}//解決請採納

熱點內容
我的世界伺服器只能邊跳邊走 發布:2024-12-26 09:55:26 瀏覽:461
銹湖綠色盒子密碼是什麼 發布:2024-12-26 09:53:16 瀏覽:202
mysql資料庫連接類 發布:2024-12-26 09:49:21 瀏覽:80
體演算法 發布:2024-12-26 09:29:22 瀏覽:841
android時間時區時間 發布:2024-12-26 09:09:54 瀏覽:688
外殼加密狗 發布:2024-12-26 08:57:59 瀏覽:844
筆記本電腦密碼怎麼破解 發布:2024-12-26 08:57:20 瀏覽:71
360雲盤分享取消密碼是多少 發布:2024-12-26 08:55:37 瀏覽:821
腳本啥格式 發布:2024-12-26 08:55:00 瀏覽:129
學C語言書 發布:2024-12-26 08:46:46 瀏覽:85