Hàm sizeof (thường gọi là toán tử) dùng để tính kích thước của đối số. Nếu đưa hàm khác làm đối số, hàm đó sẽ không được thực thi bên trong sizeof.
Trong ví dụ sau, ta đặt một printf() bên trong vòng lặp, sau đó xem kết quả.
Ví dụ
#include <stdio.h>
double my_function() {
printf("This is a test function");
return 123456789;
}
int main() {
int x;
x = sizeof(printf("Hello World"));
printf("The size: %d\n", x);
x = sizeof(my_function());
printf("The size: %d", x);
return 0;
}
Kết quả
The size: 4 The size: 8
Lệnh printf() bên trong sizeof() không được thực thi. Chỉ kiểu trả về được xem xét và lấy kích thước của nó.