Xét mã này với 3 differents chức năng ngữ nghĩa cuộc gọi:gọi hàm với ngữ nghĩa khác nhau
void f(void){
puts("OK");
}
int main(void){
f();
(*f)();
(&f)();
return 0;
}
Đầu tiên là cách tiêu chuẩn để gọi f,
thứ hai là ngữ nghĩa cho dereferencing con trỏ hàm,
nhưng trong phần ba, tôi đang áp dụng toán tử & cho tên hàm và dường như hoạt động tốt.
Điều gì xảy ra trong trường hợp thứ hai và thứ ba xảy ra?
Cảm ơn.
Con trỏ tới hàm bị hủy tham gia cuộc gọi ở phần thứ ba. –
Để vui thử '(********** f)();' cũng như – Flexo
Tôi hỏi trong trường hợp ai đó nên sử dụng lệnh gọi thứ hai và thứ ba ... –