77问答网
所有问题
(*(void(*)())0)();这句C语言怎么理解
这句C语言怎么理解,高手指点下。
举报该问题
推荐答案 推荐于2016-10-25
将0转换为一个指向参数列表为空,返回值类型为void的函数指针值(函数地址),并对这个指针值解引用(通过这个函数地址调用这个函数):
(void(*)())0
这一部分是对0进行显式类型转换,转换为上述的函数指针。
*(void(*)())0
加上外面的这个星号,就是对指针的解引用.
(*(void(*)())0)()
再加上后面的一对空括号,就是通过这个函数指针对这个地址(0)的函数进行调用,只不过 ,这个调用是非法的,0地址是不可以这样转换并且解引用调用的
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/G8WqqI8qG.html
其他回答
第1个回答 2020-01-16
这应该是一个函数指针的数组,数组名为a,数组的内容为函数指针,函数的参数为int,数组初始化为空。
返回值为空。例如:
#include
void
print(int
a)
{
printf("%d\n",a);
}
void
out(int
b)
{
printf("%d\n",
b+1);
}
void
main()
{
void
(*a[])(int)={print,
out};
a[0](3);
a[1](5);
}
输出:
3
6
相似回答
void (*)()怎么理解
?
答:
这是一个指针类型 它是一个指针 指向一个函数 这个函数没有参数也没有返回值
c语言
中
void
什么意思?具体
怎么
用?
答:
void
的字面意思是“无类型”,void
*
则为“无类型指针”,void *可以指向任何类型的数据。void只有“注释”和限制程序的作用。void的作用在于对函数返回的限定和对函数参数的限定。例如:float *p1;int *p2;p1 = p2;其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to '...
C语言
中
void
是什么意思
答:
因为在C++中,函数参数为
void
的意思是这个函数不接受任何参数。在Turbo C 2.0中编译:include "stdio.h"fun(){ return 1;} main(){ printf("%d",fun(2));getchar
();
} 编译正确且输出1,这说明,在
C语言
中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。
c语言
中的
void
表示什么意思?
答:
中文翻译为"无类型"。又名“空函数”常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
void
的字面意思是"无类型",void
*
则为"无类型指针",void *可以指向任何类型的数据。
c语言void
的意思是什么?
答:
c语言void
的意思是无返回数值。void真正发挥的作用在于:对函数返回的限定。对函数参数的限定。如果把void和int,char,double等类型放到一起
理解
的话,首先还是那句揭示本质的话:变量类型就是固定大小内存块的别名,那么void占用多大内存呢,编译器并没有定义void占用多大内存,所以对于void var;这样的定义...
c语言
中100是地址值 (void
*)
100和int sum=100
;(void
*)sum的区别
答:
第一个
(void*)
100这里面的100代表的是任意类型指针的内容,比如:int *x = 100;只不过void可以转换为任意类型。x = 100; *x就是取出地址为100的变量的值。而第二个int sum= 100;就是简单的定义一个变量,保存100的值。
C语言
中的函数类型
void
什么详细意思?
答:
void
的字面意思是“无类型”,void
*
则为“无类型指针”,void *可以指向任何类型的数据。没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的...
大家正在搜
void在c语言中怎么用
c语言怎么调用void函数
c语言什么时候用void
c语言里面void什么意思
c语言中void与int
c语言中void main
void在c语言
c语言void的用法
void是c语言关键字吗
相关问题
怎么理解(*(void(*)())0)();
C语言,((void*)0)代表什么意思?
c语言(!kbhit()==0)这句怎么理解
c语言中void catstr()什么意思
c语言 (void)0
C语言本上怎么没这种用法(void *)
在C语言中“ void voattention()”是什么意...
请问c语言中类似 *q=(*p)-'0' 这样的语句要怎么理...