2014-12-14 21 views

cevap

19

O interrupt_handlervoid döndürür ve parametrelerini (sözde eski tarz beyanı) belirtmez fonksiyonu için tip eşanlamlı olduğunu ifade eder bakınız. i bootfunc Bu fonksiyon boş cpu_boot (UINT çekirdekleri, bootfunc interrupt_handler, uint SerialNo) sahip

#include <stdio.h> 

typedef void interrupt_handler(); 

void foo() 
{ 
    printf("foo\n"); 
} 

int main(void) 
{ 
    void (*foo_ptr_ordinary)() = foo; 
    interrupt_handler *foo_ptr = foo; // no need for parantheses 

    foo_ptr_ordinary(); 
    foo_ptr(); 

    return 0; 
} 
+0

ve tartışma: (bu parantez gerekli değildir özel bir durumdur) işlevi işaretçi olarak kullanılır foo_ptr örneğin aşağıdaki bakınız Aşağıdaki argümanları geçmek istiyorum: Görev boot_task, int argl, void * args. Görev tipi typedef int (* Görev) (int, void *); Bunu nasıl uygulayabilirim? sarıcı işlevi gibi bir şey? @cmbasnett –

+0

@LefterisSarantaris: Bunu ayrı bir soru olarak sormayı tercih ederim. Daha önce denediğin şeyi tarif etmeyi unutma, sorununu açıkla ve en az bir örnek ekle. –

İlgili konular