[英]How do I loop over an array in a function in C?
我想生成一個16 byte
長的unsigned char array
,並用隨機字符填充它,除了一些字符。
我仍然是 C 的菜鳥,我仍然不明白何時使用指針等正確使用 arrays。
我現在擁有的:
bool has_illegal_character(uint8_t * arr, int length){
for(int i=0; i<sizeof(length); i++){
if (*arr == 0x01) return true;
else if (*arr == 0x04) return true;
else if (*arr == 0x05) return true;
else if (*arr == 0x15) return true;
else if (*arr == 0x00) return true;
}
return false;
}
uint8_t arr[16] = {0};
while(has_illegal_character(arr, sizeof(arr))){
for(int i = 0; i < sizeof(arr; i++)
{
arr[i] = rand() % 255;
}
}
這不起作用。
創建一個填充隨機字符的數組的正確方法是什么,除了0x01
、 0x04
、 0x05
和0x15
,理想情況下是在 C 中使用 function?
這個:
for(int i=0; i<sizeof(length); i++){
^
|
wut
不正確,您對循環length
本身的字節不感興趣。 它應該只是:
for(int i = 0; i < length; ++i){
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.