c語言清空結構體
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;
}//解決請採納