陣列求長度容量sizeof 清零memset

2021-10-05 11:12:39 字數 2776 閱讀 6429

2 memset( )

2.1.2 malloc vs calloc

2.2 字元陣列清空 或 賦值

2.3 結構體清零:

2.4 結構體陣列清零:

長度容量 = sizoef(a) / sizeof(a[0])

二維陣列行數 = sizeof(a) / sizeof(a[0])

二維陣列列數 = sizeof(a[0]) / sizeof(a[0][0])

sizeof(char);

1位元組sizeof(bool);

1位元組sizeof(short);

2位元組sizeof(int);

4位元組sizeof(long);

4位元組sizeof(float);

4位元組sizeof(double);

8位元組以上方法只適用於main函式中可以

子函式傳參就不行了

void test(int a)

cout << "建立完成" << endl << endl;

}void print(int a)

if(i == 0)

cout << "為空!" << endl << endl;

memset() 不能用於賦值,但 字元陣列可以

memset(a, 2, sizeof(a)); //對於數字陣列a就是不能全部元素為2!使用錯誤!

但是可以賦值為乙個很大的值,有乙個,它是inf = 0x3f3f3f3f

具體解析參見:

例子:

// 不能給數字陣列賦 除了 0以外的值 !

#include#define num 100

using namespace std;

int length;

void creat(int a)

cout << "建立完成" << endl << endl;

}void print(int a)

if(i == 0)

cout << "為空!" << endl << endl;

字元陣列用memset

字元指標用null

空的字元陣列或指標用 puts() 輸出,用 cout 輸出程式會停止!

cout << "建立完成" << endl << endl;

}void print(sqlist a)

cout << endl << endl;

} else

cout << "為空!" << endl << endl;

cout << "建立完成" << endl << endl;

}void print(sqlist a)

cout << endl << endl;

}else

cout << "為空" << endl << endl;

} cout << endl << endl;

} else

cout << "為空!" << endl << endl;

陣列 矩陣清零

給定乙個矩陣,如果有零元素那麼就將零元素所在的行和列都置為零。given a m x n matrix,if an element is 0,set its entire row and column to 0.do it in place.題目的難點就在於,如果遇到零元素之後馬上在矩陣上操作,將所...

開燈問題與陣列清零

分析 用aa 表示編號為1,2,3,4,n的燈是否開著。模擬這些操作即可 注意1menset a,0,sizeof a 的作用是吧陣列a清零,它也在string.h中定義。雖然也能用for迴圈完成相同的任務,但是用memset又方便又快捷。另乙個技巧在輸出 為了避免輸出多餘的空格,設定了乙個標誌變數...

sizeof關鍵字獲取陣列容量

假設有如下定義的一維陣列 intarray 8 那麼,這個 array 陣列佔據多少個位元組容量?我們可以思考如下 1 array 陣列有8個元素 2 陣列每個元素是int型別,由於int型別佔據4個位元組 所以,array陣列就占用8 4 32個位元組的空間。程式測試例子如下 程式執行結果如下 可...