Ben C kod parçası vardır:Bu form neden C'de doğrudur?
void f(void *x) {
printf(">>> %p\n", x);
}
int main() {
f NULL;
return 0;
}
Ben NULL tanımı için olduğunu düşünüyorum, ama benim şüphe netleştirmek için bir açıklama bekliyorum. NULL
((void *)0)
veya (0)
olarak tanımlanırsa
tam olarak burada ne sevmiyorsunuz? –
iirc NULL bir # define'd to ((void *) 0) 'dır, bu yüzden içinde kopyaladığınız zaman f ((void *) 0)' a sahip olur. Bu, – Daboyzuk
işlevinin ilk parametresi olarak işlev görür. tür f formu. – Kyrol