fill和memset對結構體進行初始化和覆蓋

2022-10-11 09:00:08 字數 935 閱讀 4157

fill的標頭檔案:#include

memset的標頭檔案:#include或#include

memset可以初始化整個結構體,或者結構體中的某個陣列,但只能初始化為0或-1

fill只能初始化結構體中的某個陣列,不能初始化整個結構體,但可以任意賦值

在結構體定義的同時初始化:

在主函式中的覆蓋,同理:

1 #include2 #include3 #include4

using

namespace

std;

5struct

node6;

10node a;

11int

main()

1219

//把y陣列覆蓋為5

20 fill(a.y,a.y+10,5

);21

//把x陣列覆蓋為0

fill和memset的區別

最主要的區別是memset是按照位元組填充的。按照單元賦值,將乙個區間的元素都賦予val值。函式引數 fill vec.begin vec.end val val為將要替換的值。include fill vec.begin vec.end val 原來容器中每個元素被重置為val按照位元組填充某字元...

c 中memset和fill的區別

參考 傳送門 memset函式 在 include中 按照位元組填充 適用0,1 fill函式 在 incude中 按照單元賦值,將乙個區間的元素都賦同乙個值 說明 因為memset函式按照位元組填充,所以一般memset只能用來填充char型陣列,因為只有char型佔乙個位元組 如果填充int型陣...

fill和memset 陣列填充跟陣列初始化

原型 void memset void s,int ch,size t n 功能是 將s所指向的某一塊記憶體中的前n個 位元組的內容全部設定為ch指定的ascii值,第乙個值為指定的記憶體位址,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作,其返回值為指向s的指標。注意 這邊是對...