我有一部法典:
#include <stdio.h>
typedef void (*FUNC_TYPE)(int value, int count, int* pt);
void func(int* ptr, int val, int cnt, int* pd)
{
printf("ptr: %p, %d
", ptr, *ptr);
printf("cnt: %p, %d
", &cnt, cnt);
printf("val: %p, %d
", &val, val);
printf("pd: %p, %d
", pd, *pd);
}
int main()
{
int val = 10;
int tmp = 20;
int* pd = &tmp;
((FUNC_TYPE)(func))(val, tmp, pd);
return 0;
}
亚洲开发银行职能之间经过争论的结果是:
func (ptr=0xa, val=20, cnt=-73208, pd=0x14) at test.c:7
谁能告诉我为什么发生这种情况?
我想知道如何通过不同类型的C语文职能之间的参数?