C中的write(),printf()和函数引用

时间:2015-08-30 21:08:02

标签: c function pointers

关于这个简单场景的一些问题:

#include <unistd.h>
#include <stdio.h>

void empty(){};

int main()
{
    printf("%p\t%lu\n", empty, sizeof(empty));
    write(1, empty, 100);

    return 0;
}

当我使用函数的名称作为参考时究竟发生了什么?

它显示一个大小,但printf仍然将它视为一个指针,而void指针的大小为8.此外,写入函数:

基本上我想复制printf%p写入内存地址的值而不是该地址的值,主要是为了更好地处理这一切的工作原理:^)

谢谢!

0 个答案:

没有答案