【发布时间】:2011-03-15 06:03:38
【问题描述】:
void test()
{
int buf[1000];
//populate buf
foo(buf);//is this correct? Can we pass buf as a pointer that foo expects?
}
void foo(void*ptr)
{}
编辑: 如果 foo 是 fwrite,上述(传递 buf 以便为 fwrite 提供写入某个文件的内容的机制)是否仍然适用?
【问题讨论】:
-
您的系统上是否安装了 C 编译器?
-
@Vijay:是的,我愿意。为什么要问?
-
编辑后:在大多数情况下,
buf衰减为指向其第一个元素的指针(buf衰减为int*类型的值)。而void*的特殊之处在于它可以在指向对象的指针之间来回分配。您可能想阅读C-FAQ 的第 6 部分 ... 以及其他部分 :) -
是的,但这就是我想要的,对吧?只是一个 int* 指针。会的,谢谢!
标签: c arrays function pointers