c - 关于指针的问题

标签 c pointers function-pointers void-pointers

<分区>

Possible Duplicate:
In C arrays why is this true? a[5] == 5[a]

  1. 如果 p 是一个指针(比如 int * p),那么 [p] 是什么意思? 另外 4[p] 是什么意思? (即将标量与 [p] 相乘)

  2. 假设xyz是程序中定义的某种数据类型。 那么

    void (*xyz)(void);
    

    声明是什么意思?

最佳答案

  1. 4[p] 等同于p[4]。参见例如http://c-faq.com/aryptr/joke.html .

  2. 如果 xyz 已经是一种数据类型,那么这是一个错误。如果不是,那么它就是一个名为 xyz 的函数指针的定义。假设您的意思是“void”而不是“coid”,那么 cdecl.org告诉我们:

    declare xyz as pointer to function (void) returning void

关于c - 关于指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424571/

相关文章:

c - ZMQ 多线程 C 客户端

C++指针指向函数指针的指针数组?任何线索如何去做?

c - 用用户输入填充 *char[]

c++,函数指针+函数模板

c++函数指针和void指针交互导致奇怪的事情

在循环中创建线程

c - 打印出值 uint8_t *

未分配正在释放的 C 指针

pointers - 隐藏 nil 值,理解为什么 golang 在这里失败

c++ - 让函数指针模板参数接受右值引用是否合法?