请解释一下函数数组的赋值步骤
程序代码:
static int (*fcntab[])(PDEVICE_EXTENSION pdx, PIRP Irp) = { DefaultPnpHandler, // 0x00401020 DefaultPnpHandler, DefaultPnpHandler, }; int DefaultPnpHandler(int int ) { }书上好像是这样说的:数组名=数组的第一个元素 fcntab=fcntab[0]
实际上是*fcntab=fcntab[0].
那么*fcntab的值因该为DefaultPnpHandler的地址0x00401020
DefaultPnpHandler为标号所以是没有占用内存空间,他只是一个偏移量
但fcntab[0]=0x0040100a
到底错在哪
[ 本帖最后由 WDMfans 于 2010-9-23 19:41 编辑 ]