- cloud123
-
在进行类库设计时,因为
不确定类库的使用者具体使用什么类型的指针。
此时都用void*指针,
而C++的类型转转机制,可以把void*类型指针,转换成为
必须的指针类型。具体转换有编译器实现!
命令查看一个void *型的变量的时候,提示为:"attempt to dereference a generic a pointer " ,我该怎样才能查看这一类型的变量的内容呢?
单独void*变量无法查看起内容,你必须强制类型转换后才可以看到,
比如转换成为int*,或者char*什么的编译器才可以按这种要求解析,
指针地址内的信息。
很简单的一个例子
char *p = "asdfasdf";
int *p1 = (int*)p;
这时候编译器在解析p1的内容时是使用整形解析方法。
cout<<p;
cout<<p1;
打印的结果是
cout<<p正常输出
cout<<p1输出的是一个地址
在编译器查看时,我们也会发现p1指向的是一个字符串类型。
如果我们对
wwo
我们void *p = "asdfas"//编译器会给我们声明为string类型
void *p= 2;
void是什么意思
void[英][vu0254u026ad][美][vu0254u026ad]adj.无效的; 空的,空虚的,没人住的; (职位)空缺着的; n.太空,宇宙空间; 空位,空隙; 空虚感,寂寞的心情; vt.使无效; 宣布…作废; 取消; 排泄; 例句:Throughout the country, local leaders and organizations have stepped up to fill the void left by a confused and slow-moving national government.为填补中央政府进退失据、行动迟缓而形成的空白,全国各地的地方领导人和组织纷纷行动起来。2023-07-31 02:08:032
c语言中void是什么意思?有什么用处?
可以理解为JAVA里的NEW2023-07-31 02:08:1211
void是什么意思?
void是C语言关键字,说明函数没有返回值,oop是函数名,是用户自定义标识符。void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中。比如:void main (),主函数完了不用写return 语句,但是如果是int main ()或者是main (),不写return 语句它就会有warning。扩展资料:C语言关键字auto :声明自动变量break:跳出当前循环case:开关语句分支char :声明字符型变量或函数返回值类型const :声明只读变量continue:结束当前循环,开始下一轮循环default:开关语句中的“默认”分支do :循环语句的循环体double :声明双精度浮点型变量或函数返回值类型else :条件语句否定分支(与 if 连用)参考资料来源:百度百科-C语言关键字2023-07-31 02:08:561
C语言中的函数类型void什么详细意思?
我hi你一下2023-07-31 02:09:5112
c++中的void是什么意思?
数据类型为空型2023-07-31 02:10:265
c语言中void的含义是什么?
c语言中void的含义为“无效的”,“空的”。常用在两个地方,第一是对函数返回值的限定,表示这个函数没有返回值。第二个是对函数参数的限定,表示这个函数不接受参数。2023-07-31 02:10:492
c语言中void什么意思?具体怎么用?
两种含义,一个是无类型,一个是不输出,举个例子:void main(),这个就是无类型函数,void max()这个就是无输出(最大值)2023-07-31 02:11:111
void是什么意思,c语言是什么?
void 在c语言中也是一种数据类型,是一种没有任何格式限制的类型,比如函数不需要返回值就标记为void,比如一个变量也可以声明为void,根据需要可以转换为其他类型。2023-07-31 02:12:051
c语言中void什么意思?具体怎么用?
就是空,没有的意思2023-07-31 02:12:398
void是什么意思
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据void的含义void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。我们将在第三节对以上二点进行具体说明。众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。2023-07-31 02:13:011
void具体有什么作用
1、void真正发挥的作用在于对函数返回的限定;2、void对函数参数的限定;3、void具体的作用就是该函数执行完之后,将计算结果反馈给调用源。扩展资料:C语言介绍:C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C是结构式语言结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。参考资料来源:百度百科-c语言2023-07-31 02:13:101
C编程中的“void”是什么意思?在什么情况下使用?
void在C语言里是指不带返回值的意思。跟函数一起用。1.void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。例如: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 *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错:void *p1;int *p2;p2 = p1;提示“"=" : cannot convert from "void *" to "int *"”。2.void的使用使用规则:如果函数没有返回值,那么应声明为void类型在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b ){return a + b;}int main(int argc, char* argv[]){printf ( "2 + 3 = %d", add ( 2, 3) );}程序运行的结果为输出:2 + 3 = 5这说明不加返回值说明的函数的确为int函数。补充:void 中文翻译为"无类型"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。2023-07-31 02:13:251
void的含义是( )
其它什么概念就不多说了,以下面几个例子来说明void的作用。1.void的声明作用void可用来声明一个函数,表示此函数无返回值或者是返回一个无类型的指针。例如:voidfunc_no_return();表示此函数无返回值。函数体内有没有return都可以,如果加return,则return后面不跟任何值。void*func_void_return();表示此函数返回一个无类型的指针,也就是说什么样指针类型都可以。例如下面函数的定义:void*func_void_return(){int*a;intb;a=&b;returna;}/*返回int型的指针*/void*func_void_return(){char*a="dfasdfa";returna;}/*返回char型的指针*/等等。应用:void*malloc(size)函数,malloc函数为调用者分配一块size大小的内存,并将此内存的地址返回给函数。至于此内存是什么样的类型,则可以由调用者自己确定。2.void作为函数参数intfunc_void_parameter(void)与intfunc_void_parameter()的区别。前者表示此函数没有参数,如果你在调用此函数时,使用了参数,则编译器会报错误。你可以亲自试试。后者也表示此函数没有参数,如果你在调用此函数时,使用的了参数,则有的编译器会报错或警告,也有的则视而不见。gcc则出现警告,cc则无视此错误。你也可以亲自编程测试。intfunc_void_parameter(void*param_ptr);表示此函数的参数指针,无类型,即什么样的指针类型都可以传入到此函数中。应用:void*memcpy(void*target,constvoid*source,size_tn);这是函数库中的内存拷贝函数,记得只是内存拷贝。如果参数不是void类型的,那此函数太无聊了。3.void类型的指针不能进行算术运算。void*ptr;ptr++;ptr--;这都是不可以的。想想看,ptr++指的是运算后,将指针指向下一个值,而不是指针的值加1。就先这么多,如果有问题再说。2023-07-31 02:13:501
void在c语言中什么意思
c语言void的意思是无返回数值。void真正发挥的作用在于:对函数返回的限定。对函数参数的限定。如果把void和int,char,double等类型放到一起理解的话,首先还是那句揭示本质的话:变量类型就是固定大小内存块的别名,那么void占用多大内存呢,编译器并没有定义void占用多大内存,所以对于void var;这样的定义。选择结构:对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。2023-07-31 02:13:591
在JAVA中 void表示什么意思?
void是无返回值的意思void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义。void的作用在于对函数返回的限定以及对函数参数的限定。如果7a6431333366306535JAVA里指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值,如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。扩展资料:void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。2023-07-31 02:14:131
飞机票上的void代表的是什么?
航空运输电子客票行程单上的VOID的含义表示那一栏是空白的意思(VOID在这里是待定的意思,就好像我们手写发票时,空着的地方要打个斜杠(折线)一样)。 比较单程电子客票和往返电子客票行程单来认识它们之间的区别:往返电子客票行程单返程栏都有签注,若有第二航程或者返程的客票也有签注,没有VOID字样;若是单程电子客票行程单,由于没有第二航段,也没有返程体现在上面,所以第二个TO栏目就全是VOID,表示没有第二航段。2023-07-31 02:14:306
c#中的“void”有什么作用?
一般用于函数的返回值。如果函数不需要返回值,即可以用void做返回类型。相关点:1、void 返回类型不带参数,void 关键字指定方法不返回值。2、C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。3、C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。4、 C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。关于数据类型:1、基本数据类型:C#拥有比C/C++或者Java更广泛的数据类型.这些类型是bool、byte、ubyte、short、ushort、int、uint、long、ulong、float、double和decimal。2、两个基本类:一个名叫 object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一部分.作为语言的一部分存在意味着编译器有可能使用它,无论何时在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。3、索引下标:一个 索引与 属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的。2023-07-31 02:14:571
void可以做什么用
void是是C语言的一个关键字,其含义为空。在C语言中,单独的void有两种用途,均用于函数中。1 用于函数返回值。形式为void func_name(...);代表函数没有返回值。在这样的函数中,调用return语句时,不需要也不可以有参数。注意,写成func_nmae(...);的形式,在部分编译器中可以编译成功,但并不是没有返回值,而是有一个默认的整型(int)返回值的意思。2 用于函数参数列表。当函数没有参数时,需要定义为xxx func_name(void);的形式,表示本函数不需要任何参数。注意,如果写成xxx func_name();的形式,与void不同,不是没有参数,而是函数参数不定,可以接收任何长度的参数。2023-07-31 02:15:181
JAVA里VOID是什么意思。
返回类型为空2023-07-31 02:15:286
变量前面加(void)是什么作用
变量未曾使用时,防止编译报错的方法,就是告诉编译器,这个变量我(假装)使用过了。在代码中没有具体意义。2023-07-31 02:15:512
C语言中,函数前加void是什么意思?
每个函数都做一件事,事情做完的话最好告诉别人,函数也是,fun就是一个人,后面括号里面的就是传入参数,也就是别人叫你做的事,fun前面的是返回值,就是你告诉别人这件事做的怎么样了,void类型就是空类型,做完了不告诉别人,在函数里面return;就行了。写个简单的例子intadd(inta,intb){returna+b;}这个就是把a+b的结果传出去,因为是int行,所以返回值也是int型,就用int了2023-07-31 02:16:001
void* 和void有什么区别
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。2023-07-31 02:16:161
C 语言中的void是什么?格式是怎么样的?
void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a; 这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。 void真正发挥的作用在于: (1) 对函数返回的限定; (2) 对函数参数的限定。2023-07-31 02:16:263
void函数怎么调用
//******************************************************************************// 统计整数里面各位 1 2 3 的个数//******************************************************************************#include int c1, c2, c3;void fun(long n){ c1 = c2 = c3 = 0; while (n != 0) { switch (n % 10) { case 1: c1++; break; case 2: c2++; break; case 3: c3++; } n /= 10; }}int main(){ long n; scanf("%ld", &n); //输入整数n fun(n); //调用自定义函数fun printf("C1=%d C2=%d C3=%d ", c1, c2, c3); //输出 }//祝你学习进步,更上一层楼!(*^__^*)2023-07-31 02:16:363
C编程中void到底是什么意思啊?在什么情况下用这个
void在C语言里是指不带返回值的意思。跟函数一起用。1.void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。例如: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 *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错:void *p1;int *p2;p2 = p1;提示“"=" : cannot convert from "void *" to "int *"”。2.void的使用使用规则:如果函数没有返回值,那么应声明为void类型在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b ){return a + b;}int main(int argc, char* argv[]){printf ( "2 + 3 = %d", add ( 2, 3) );}程序运行的结果为输出:2 + 3 = 5这说明不加返回值说明的函数的确为int函数。补充:void 中文翻译为"无类型"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。2023-07-31 02:16:431
C++中return一个void函数,是什么意思
void的含义 void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义: voida; 这行语句编译时会出错,提示“illegaluseoftype"void"”。不过,即使voida的编译不会出错,它也没有任何实际意义。 void真正发挥的作用在于: (1)对函数返回的限定; (2)对函数参数的限定。 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。 例如: float*p1; int*p2; 1=p2; 其中p1=p2语句会编译出错,提示“"=":cannotconvertfrom"int*"to"float*"”,必须改为: 1=(float*)p2; 而void*则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换: void*p1; int*p2; 1=p2; 但这并不意味着,void*也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错: void*p1; int*p2; 2=p1; 提示“"=":cannotconvertfrom"void*"to"int*"”。2023-07-31 02:16:521
c语言中void什么意思
void:声明函数多有返回值或多参数,声明多类型指针,显示获取运算结果。2023-07-31 02:17:174
c语言中void什么意思?具体怎么用?
void表示函数没有返回值,如:void test(){}如果不是用void,比如用int或者别的,则函数需要有返回值如:int test(){return 1;}其实就是声明一个函数必需要得到一个结果,void就是不需要结果的一个方法(函数)否则如int、char等,就必需返回一个与其对应的数据这个方法(函数)才能编译通过并试用。希望对你有用呀祝你好运2023-07-31 02:17:481
c++中的void是什么意思?
void是空的意思,一般用来表示无参数或者无返回。比如在函数定义的时候可以 用 void func(void);前面的表示函数无返回,括号里表示函数无参数。或者void *可以表示无类型指针,允许被强制转化成任意类型指针。扩展资料:含义public class Void Test{main(*)}void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义:void a;这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。参考资料来源:百度百科-void (计算机语言关键字)2023-07-31 02:18:111
VOID是什么意思
main是一切(控制台)程序都必须有的一个入口函数main函数是否有返回值在绝大多数情况下无关紧要因为main函数体内的代码一旦运行完毕这个程序就结束了另外lz显然没有理解程序开发中封装的思想2023-07-31 02:18:274
c语言中void什么意思
void在c语言中是空的意思。void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用。因为从来没有人会定义一个void变量,让我们试着来定义:voida;这行语句编译时会出错,提示“illegaluseoftypevoid”。不过,即使voida的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于对函数返回的限定;对函数参数的限定。void在c语言的应用注意事项void中文翻译为”无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void的字面意思是”无类型”,void*则为”无类型指针”,void*可以指向任何类型的数据。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。2023-07-31 02:19:101
void在C++中是什么意思?
void是C语言关键字,说明函数没有返回值,oop是函数名,是用户自定义标识符。void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中。比如:void main (),主函数完了不用写return 语句,但是如果是int main ()或者是main (),不写return 语句它就会有warning。扩展资料:C语言关键字auto :声明自动变量break:跳出当前循环case:开关语句分支char :声明字符型变量或函数返回值类型const :声明只读变量continue:结束当前循环,开始下一轮循环default:开关语句中的“默认”分支do :循环语句的循环体double :声明双精度浮点型变量或函数返回值类型else :条件语句否定分支(与 if 连用)参考资料来源:百度百科-C语言关键字2023-07-31 02:19:371
在C++中“void”是什么意思?
void是空的意思,一般用来表示无参数或者无返回。比如在函数定义的时候可以 用 void func(void);前面的表示函数无返回,括号里表示函数无参数。或者void *可以表示无类型指针,允许被强制转化成任意类型指针。2023-07-31 02:20:091
C语言中void是什么意思
定义的什么 函数就返回什么 void就是返回空 说白了 就是什么都不返回 返回值 知道吗2023-07-31 02:21:068
C语言中void的作用是什么?
1.10,void关键字 void有什么好讲的呢?如果你认为没有,那就没有;但如果你认为有,那就真的有。有点像“色即是空,空即是色”。1.10.1,void a? void的字面意思是“空类型”,void*则为“空类型指针”,void*可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,看看下面的例子: voida; VisualC++6.0上,这行语句编译时会出错,提示“illegaluseoftype"void"”。不过,即使voida的编译不会出错,它也没有任何实际意义。 void真正发挥的作用在于: (1) 对函数返回的限定; (2) 对函数参数的限定。 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。例如: float *p1; int *p2; p1=p2;其中p1=p2语句会编译出错,提示“"=":cannotconvertfrom"int*"to"float*"”,必须改为: p1=(float*)p2;而void*则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换: void *p1; int *p2; p1=p2;但这并不意味着,void*也可以无需强制类型转换地赋给其它类型的指针。因为“空类型”可以包容“有类型”,而“有类型”则不能包容“空类型”。比如,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错: void *p1; int *p2; p2=p1;提示“"=":cannotconvertfrom"void*"to"int*"”。1.10.2,void修饰函数返回值和参数 【规则1-33】如果函数没有返回值,那么应声明为void类型 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如: add(inta,intb) { return a+b; } intmain(intargc,char*argv[])//甚至很多人以为main函数无返回值 //或是为void型的 { printf("2+3=%d",add(2,3)); }程序运行的结果为输出: 2+3=5这说明不加返回值说明的函数的确为int函数。 因此,为了避免混乱,我们在编写C程序时,对于任何函数都必须一个不漏地指定其类型。如果函数没有返回值,一定要声明为void类型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,也可以发挥代码的“自注释”作用。所谓的代码的“自注释”即代码能自己注释自己。 【规则1-34】如果函数无参数,那么应声明其参数为void 在C++语言中声明一个这样的函数: intfunction(void) { return1; } 则进行下面的调用是不合法的:function(2); 因为在C++中,函数参数为void的意思是这个函数不接受任何参数。 但是在TurboC2.0中编译: #include"stdio.h" fun() { return1; } main() { printf("%d",fun(2)); getchar(); } 编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。在C++中,不能向无参数的函数传送任何参数,出错提示“"fun":functiondoesnottake1parameters”。 所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。1.10.3,void指针 【规则1-35】千万小心又小心使用void指针类型。 按照ANSI(AmericanNationalStandardsInstitute)标准,不能对void指针进行算法操作,即下列操作都是不合法的: void*pvoid; pvoid++;//ANSI:错误 pvoid+=1;//ANSI:错误 ANSI标准之所以这样认定,是因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。也就是说必须知道内存目的地址的确切值。例如: int*pint; pint++;//ANSI:正确 但是大名鼎鼎的GNU(GNU"sNotUnix的递归缩写)则不这么认定,它指定void*的算法操作与char*一致。因此下列语句在GNU编译器中皆正确: pvoid++;//GNU:正确 pvoid+=1;//GNU:正确 在实际的程序设计中,为符合ANSI标准,并提高程序的可移植性,我们可以这样编写实现同样功能的代码: void*pvoid; (char*)pvoid++;//ANSI:正确;GNU:正确 (char*)pvoid+=1;//ANSI:错误;GNU:正确 GNU和ANSI还有一些区别,总体而言,GNU较ANSI更“开放”,提供了对更多语法的支持。但是我们在真实设计时,还是应该尽可能地符合ANSI标准。 【规则1-36】如果函数的参数可以是任意类型指针,那么应声明其参数为void*。 典型的如内存操作函数memcpy和memset的函数原型分别为: void*memcpy(void*dest,constvoid*src,size_tlen); void*memset(void*buffer,intc,size_tnum); 这样,任何类型的指针都可以传入memcpy和memset中,这也真实地体现了内存操作函数的意义,因为它操作的对象仅仅是一片内存,而不论这片内存是什么类型。如果memcpy和memset的参数类型不是void*,而是char*,那才叫真的奇怪了!这样的memcpy和memset明显不是一个“纯粹的,脱离低级趣味的”函数! 下面的代码执行正确:例子:memset接受任意类型指针 intIntArray_a[100]; memset(IntArray_a,0,100*sizeof(int));//将IntArray_a清0例子:memcpy接受任意类型指针 intdestIntArray_a[100],srcintarray_a[100]; //将srcintarray_a拷贝给destIntArray_a memcpy(destIntArray_a,srcintarray_a,100*sizeof(int));有趣的是,memcpy和memset函数返回的也是void*类型,标准库函数的编写者都不是一般人。1.10.4,void不能代表一个真实的变量 【规则1-37】void不能代表一个真实的变量。因为定义变量时必须分配内存空间,定义void类型变量,编译器到底分配多大的内存呢。 下面代码都企图让void代表一个真实的变量,因此都是错误的代码: voida;//错误 function(voida);//错误 void体现了一种抽象,这个世界上的变量都是“有类型”的,譬如一个人不是男人就是女人(人妖不算)。 void的出现只是为了一种抽象的需要,如果你正确地理解了面向对象中“抽象基类”的概念,也很容易理解void数据类型。正如不能给抽象基类定义一个实例,我们也不能定义一个void(让我们类比的称void为“抽象数据类型”)变量。 void简单吧?到底是“色”还是“空”呢?<<<<<<<<<<<<<,,,复制《C语言深度解剖》上的 >>>>>>>>>>>>>>>>>>>2023-07-31 02:22:2212
C语言中void具体由什么作用
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。扩展资料:C语言基本数据类型void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)char:字符型类型数据,属于整型数据的一种。(K&R时期引入)int:整型数据,表示范围通常为编译器指定的内存字节长。(K&R时期引入)float:单精度浮点型数据,属于浮点数据的一种。(K&R时期引入)double:双精度浮点型数据,属于浮点数据的一种。(K&R时期引入)_Bool:布尔型(C99标准新增)_Complex:复数的基本类型(C99标准新增)_Imaginary:虚数,与复数基本类型相似,没有实部的纯虚数(C99标准新增)_Generic:提供重载的接口入口(C11标准新增)类型修饰关键字short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)signed:修饰整型数据,有符号数据类型。(C89标准新增)unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)参考资料:C语言-百度百科2023-07-31 02:23:211
在C++中void是什么意思
void表示空或者无类型。用void表示参数列表或返回值,表示没有参数或没有返回值(不需要返回)。2023-07-31 02:23:512
手机盒void什么意思
意思是手机的防伪标签。日常生活中,我们常见到的防揭防伪标签有“VOID”、“启封”、“已开封”等揭开后留底字样。还有一些比较特殊的产品会定制自己的logo作为标签揭开后的留底字样。2023-07-31 02:24:471
C语言中的“void main()”是什么意思?
C语言标准语法是不允许void main()的,只允许int main()。但是某些编译器支持void main()。其意义为:定义main函数(主函数),无返回值。注意:为了增强程序可移植性,最好不要写void main(),否则在一些编译器上可能不能编译、运行。有些语句只有main其实是合法的。ANSI C标准规定,如果函数定义中函数名前没有类型标识符,则默认为int类型,所以main()等价于int main()。2023-07-31 02:24:587
C语言中void具体由什么作用
如果这个函数没有返回值就要写上void2023-07-31 02:26:1210
void sort在C语言中什么意思?
void是C语言中的一个关键字,其含义因其应用形式不同,一般分为两种:void和void *void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义:这行语句编译时会出错,提示“illegal use of type "void"”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。扩展资料:如果函数无参数,那么应声明其参数为void。在C++语言中声明一个这样的函数:int function(void){return1;}则进行下面的调用是不合法的:function(2);因为在C++中,函数参数为void的意思是这个函数不接受任何参数。在Turbo C 2.0中编译:#include "stdio.h"fun(){return 1;}main(){printf("%d",fun(2));getchar();}2023-07-31 02:27:091
程序设计中遇到的void到底是什么意思
1概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:voida;这行语句编译时会出错,提示“illegaluseoftype"void"”。不过,即使voida的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1)对函数返回的限定;(2)对函数参数的限定。2023-07-31 02:27:421
C语言中,函数前加void是什么意思?
每个函数都做一件事,事情做完的话最好告诉别人,函数也是,fun就是一个人,后面括号里面的就是传入参数,也就是别人叫你做的事,fun前面的是返回值,就是你告诉别人这件事做的怎么样了,void类型就是空类型,做完了不告诉别人,在函数里面return ;就行了。写个简单的例子x0dx0aint add(int a,int b)x0dx0a{x0dx0a return a+b;x0dx0a}x0dx0a这个就是把a+b的结果传出去,因为是int行,所以返回值也是int型,就用int了2023-07-31 02:28:031
c语言void的意思是什么?
c语言中,void的意思是“无类型”,相应的“void *”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,其作用是对函数返回和参数的进行限定。void 可以作为函数返回值类型,有void就代表没有返回值。在定义的函数中,有的函数前是void有的是int或者float等等数据类型,此时它们被称为函数的返回值类型。当返回值类型为void时,称这个函数返回空,或者这个函数无返回值。c语言void的用法特点:使用void去修饰指针的时候,这种通用类型的指针可以很方便的和其他类型的指针之间进行相关转换。void另一个重要的应用则就是跟函数进行结合主要有以下两个方面的应用:对函数返回的限定;对函数参数的限定。void类型不能够用来申明变量和常量,因为申明变量的时候需要明确告诉编译器,该变量是什么类型,比如说是int或char类型,这样编译才好为这个变量去分配存储空间。总的来说,void应用最广泛的就是跟指针结合,而void和指针的结合也大大扩展了指针的可能性。2023-07-31 02:28:421
void 是什么意思
无效,删除2023-07-31 02:28:563
void在c语言中什么意思
void在c语言中是空的意思。void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用。因为从来没有人会定义一个void变量,让我们试着来定义:voida;这行语句编译时会出错,提示“illegaluseoftypevoid”。不过,即使voida的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于对函数返回的限定;对函数参数的限定。void在c语言的应用注意事项void中文翻译为”无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void的字面意思是”无类型”,void*则为”无类型指针”,void*可以指向任何类型的数据。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。2023-07-31 02:29:221
java中void是什么意思
空。java中void的意思“什么都不返回”,在方法声明的时候表示该方法没有返回值。2023-07-31 02:29:361
c语言中的int main(void)是什么意思
main函数返回值为int整型,参数表void为空。2023-07-31 02:30:026
void什么意思
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义2023-07-31 02:30:231
c语言中void什么意思?具体怎么用?大神们帮帮忙
就是空,没有的意思2023-07-31 02:30:549