Trong C: Làm thế nào để bạn tìm thấy số phần tử trong một mảng cấu trúc, sau khi gửi nó đến một hàm?C: tìm số phần tử trong một mảng []
int main(void) {
myStruct array[] = { struct1, struct2, struct3, struct4, struct5, struct6 };
printf("%d\n", sizeof(array));
printf("%d\n", sizeof(array[0]));
f(array);
}
void f(myStruct* array) {
printf("%d\n", sizeof(array));
printf("%d\n", sizeof(array[0]));
}
Vì lý do nào đó printf trong chính hiển thị kết quả khác với printf trong f. Nhu cầu của tôi là biết có bao nhiêu phần tử trong mảng.
Vì 'sizeof()' là toán tử thời gian biên dịch chứ không phải hàm thành viên (như trong C++). – ruslik