void怎么用

1.void函数怎么用

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void只有“注释”和限制程序的作用。void的作用在于对函数返回的限定和对函数参数的限定。

例如:float *p1;int *p2;p1 = p2;

其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为:p1 = (float *)p2;

而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:

void *p1;int *p2;p1 = p2;

扩展资料

void类型在c开发中常见的用法有2种:

1、作为函数的返回值,如void add(int x,int y); 表示该函数吴返回类型,不需要返回值。

2、使用void*指针来使用,比如作为函数的参数类型,如: int max(void* param); -->;此时的void*表示可以使用任何类型的参数进行转换。如

int a = 10; //普通类型

max((int)&a);

typedef struct{int a;}str; //结构体

str S1 ;

S1.a = 2;

max((str)&S1);

2.void+函数的使用方法

void+函数的使用方法:

1.void *可以指向任何类型的数据

2. void真正发挥的作用在于:

(1) 对函数返回的限定;

(2) 对函数参数的限定。

例如:

void *p1;

int *p2;

p1 = p2;

3.void的使用:

规则一

如果函数没有返回值,那么应声明为void类型。

规则二

如果函数无参数,那么应声明其参数为void。

规则三

小心使用void指针类型。

按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的:

void * pvoid;

pvoid++; //ANSI:错误

pvoid += 1; //ANSI:错误

//ANSI标准之所以这样认定,是因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。

//例如:

int *pint;

pint++; //ANSI:正确

pint++的结果是使其增大sizeof(int)。( 在VC6.0上测试是sizeof(int)的倍数)

但GNU(GNU's Not Unix的缩写)则不这么认定,它指定void *的算法操作与char *一致。

因此下列语句在GNU编译器中皆正确:

pvoid++; //GNU:正确

pvoid += 1; //GNU:正确

pvoid++的执行结果是其增大了1。( 在VC6.0上测试是sizeof(int)的倍数)

在实际的程序设计中,为迎合ANSI标准,并提高程序的可移植性,可以这样编写实现同样功能的代码:

void * pvoid;

(char *)pvoid++; //ANSI:正确;GNU:正确

(char *)pvoid += 1; //ANSI:错误;GNU:正确

GNU和ANSI还有一些区别,总体而言,GNU较ANSI更“开放”,提供了对更多语法的支持。但是我们在真实设计时,还是应该尽可能地迎合ANSI标准。

规则四

如果函数的参数可以是任意类型指针,那么应声明其参数为void *

典型的如内存操作函数memcpy和memset的函数原型分别为:

void * memcpy(void *dest, const void *src, size_t len);

void * memset ( void * buffer, int c, size_t num );

规则五

void不能代表一个真实的变量

下面代码都企图让void代表一个真实的变量,因此都是错误的代码:

void a; //错误

function(void a); //错误

3.c语言里如何调用void函数

void是是C语言的一个关键字,其含义为空。

在C语言中,单独的void有两种用途,均用于函数中。 1 用于函数返回值。

形式为 void func_name(。); 代表函数没有返回值。

在这样的函数中,调用return语句时,不需要也不可以有参数。注意,写成 func_nmae(。

); 的形式,在部分编译器中可以编译成功,但并不是没有返回值,而是有一个默认的整型(int)返回值的意思。 2 用于函数参数列表。

当函数没有参数时,需要定义为 xxx func_name(void); 的形式,表示本函数不需要任何参数。注意,如果写成 xxx func_name(); 的形式,与void不同,不是没有参数,而是函数参数不定,可以接收任何长度的参数。

void怎么用

转载请注明出处育才学习网 » void怎么用

知识

张用数字怎么表示

阅读(635)

本文主要为您介绍张用数字怎么表示,内容包括张用数字怎么写,张用数字几表示,张字用数字表示是什么。[张]这个字,如果用作签名来用,且用数字的形式来艺术地写:把7和6或3和6连起来写。如图所书:

知识

空调控制器怎么用

阅读(289)

本文主要为您介绍空调控制器怎么用,内容包括空调遥控器怎么用,这个空调控制器怎么用,空调遥控器怎么用。中央空调温控器专为控制风机盘管开发设计,广泛应用于加热、制冷、通风的等暖通控制。风机的速度可通过调节风速按钮手动控制或自动控制

知识

qq红包的钱怎么用

阅读(282)

本文主要为您介绍qq红包的钱怎么用,内容包括QQ好友送的红包,里面的钱怎么用啊,QQ红包领来的钱怎么用,qq钱包里的钱怎么用。可以提现到银行卡中,也可以用来充值,首先要打开手机上的QQ。

知识

龙啸怎么用

阅读(186)

本文主要为您介绍龙啸怎么用,内容包括CF龙啸使用技巧攻略CF龙啸怎么用,穿越火线里的英雄级武器龙啸应该怎么使用我不管是轻击还是重击都,cf武器“龙啸”横砍怎么按键。直接按鼠标右键,一直点。龙啸:CF英雄级近战武器,世界顶级武器收藏家制作的

知识

叶绿素怎么用

阅读(194)

本文主要为您介绍叶绿素怎么用,内容包括叶绿素怎样食用,叶绿素用来干什么呢,叶绿素有几种都有什么用。叶绿素广泛分布于绿色蔬菜中。研究表明,它能抵抗细菌对人体的侵袭,可抑制肠道中的有害菌群,防止食物发酵腐败,且能促进肠道蠕动而通便净肠。

知识

手机115网盘怎么用

阅读(442)

本文主要为您介绍手机115网盘怎么用,内容包括手机如何用115网盘下载,115网盘怎么用手机下载,115网盘怎么用。登陆在又上角,有登陆两个字。。115需要先注册,然后绑定手机,然后转存到自己的网盘才能下载的。关于115 的教程,我们会尽快发出来,请继

知识

鹿心怎么用

阅读(232)

本文主要为您介绍鹿心怎么用,内容包括鹿心怎么配药,鹿心怎么配药,鹿心血怎么使用和储存。鹿心 作用:养气补血、安神、气血两亏、心忙心跳、风湿性心脏病、心绞痛。鹿心血中的超氧化物歧化酶(SOD),谷胱甘肽过氧化物酶(GSH)、

知识

化妆刷子怎么用

阅读(213)

本文主要为您介绍化妆刷子怎么用,内容包括我想知道这几只化妆刷子的名称和用途,化妆刷的用途及图解,化妆刷怎么用。粉底刷,刷头部分较大,能大面积的刷粉底和瑕疵膏,使得底妆更加自然均匀,如果需要修饰比较小的地方时侯,可以使用刷子的毛尖来进行

知识

五号用英语怎么说

阅读(371)

本文主要为您介绍五号用英语怎么说,内容包括5号的英语怎么说,5号的英语怎么说,五号的英文怎么拼。one、two、three、four、five。one英[wʌn] 美[wʌn] num. 一个; (数字) 一; (基数) 一,第一;

知识

12月用英语怎么读

阅读(242)

本文主要为您介绍12月用英语怎么读,内容包括一到十二月份的英语怎么读,十二个月份英语怎么读,一月到十二月用英语怎么读。一月: January [ˈdʒænjuəri] 二月:February [ˈfebruəri] 三月:March [mɑ:tʃ]四月:

知识

电热水器怎么用安全

阅读(298)

本文主要为您介绍电热水器怎么用安全,内容包括电热水器怎么用才安全啊,电热水器怎么用安全,如何做到安全使用电热水器。关键是热水器要长时间通电,热水器的温控探头在热水器的中部,刚加热到设定度时只有热水器的上半部的水温热了,下半部的水温

知识

喜欢用英语怎么读

阅读(274)

本文主要为您介绍喜欢用英语怎么读,内容包括喜欢用英语怎么读,喜欢,用英语怎么读,最喜欢的用英语怎么读。like 英[laɪk] 美[laɪk] vt. 喜欢; (与 would 或 should 连用表示客气) 想; 想要; 喜欢做; p

知识

七月用英语怎么说

阅读(237)

本文主要为您介绍七月用英语怎么说,内容包括7月用英文怎么说,七月英文,7月用英文怎么说。您好,“7月”的英语是:July另外1到12月分别是:一月:January二月:February三月:March四月:April五月:M

知识

气球机怎么用

阅读(266)

本文主要为您介绍气球机怎么用,内容包括这种打气球机怎么用,我想卖儿童氢气球,具体怎么操作,怎样使用气球打结器。食指和中指将气球往后拉伸,拇指抵住原来的位置,此时左手的拇指和食指之间就会出现一个空隙,气嘴已经拉伸至拇指抵住的位置,具体

知识

void*指针是什么意思

阅读(188)

void的意思是无确切类型指针。1.void指针不能直接使用;2.这个指针指向一块内存,程序不清楚该用何种方式来解释这片内存;3.所以这类的指针不能直接进行取内容的操作,必须先转成别的类型的指针才可解读内容。

[/e:loop]