标题:void数据类型到底是以什么形式储存啊
只看楼主
永久的守护
Rank: 1
等 级:新手上路
威 望:2
帖 子:425
专家分:6
注 册:2007-6-9
结帖率:75%
 问题点数:0 回复次数:19 
void数据类型到底是以什么形式储存啊
void数据类型到底占多少个字节
void数据类型的函数有返回值么?
对void数据类型一直不理解 感觉很抽象的东西
搜索更多相关主题的帖子: void数据 类型 形式 储存 返回值 
2007-08-31 11:41
iaw398492065
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-8-21
得分:0 
按我知道的,VOID好像是一个指向任意类型有指针,可以先定义它之后再把你要的类型的指针付给它就行了,
2007-08-31 17:27
zjxtx4431
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-31
得分:0 
void 是空类型,void f()不返回任何值,但也有 void *f()和void *p等,可以理解为返回的指针不定类型,在需要时用()强制转换类型 如char*p1 void *p2 .....p1=(char*)p2;
在用到动态分配地址的时候(malloc()),返回的就是void 地址
2007-08-31 22:45
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
void 是无类型
void* 是任意指针类型


by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
C/C++算法习题(OnlineJudge):[url]http://yzfy.org/[/url]
2007-08-31 22:46
fwhao
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-13
得分:0 

学习中......

2007-08-31 23:44
xiajianchen
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-1-22
得分:0 
void 空类型,有啥不好理解的

一个人认清自己的路,整个世界为之让路!
2007-09-01 05:32
爱像深蓝
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-7-10
得分:0 
回复:(xiajianchen)void 空类型,有啥不好理解的

楼主从来不用MSDN的吗?
其实很多知识都可以在VS6.0的MSDN中找到的,下面是MSDN对void的定义!

void declarator

When used as a function return type, the void keyword specifies that the function does not return a value. When used for a function's parameter list, void specifies that the function takes no parameters. When used in the declaration of a pointer, void specifies that the pointer is "universal."

If a pointer's type is void *, the pointer can point to any variable that is not declared with the const or volatile keyword. A void pointer cannot be dereferenced unless it is cast to another type. A void pointer can be converted into any other type of data pointer.

A void pointer can point to a function, but not to a class member in C++.

You cannot declare a variable of type void.

//Example

// Examples of the void keyword
void vobject; // Error
void *pv; // Okay
int *pint; int i;
void main() // main has no return value
{
pv = &i;
pint = (int *)pv; // Cast optional in C
// required in C++
}

2007-09-01 09:02
Black_smart
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-8-13
得分:0 
学习。

C++初学者,请多指教.... 学习学习再学习,努力努力再努力!
2007-09-01 09:16
永久的守护
Rank: 1
等 级:新手上路
威 望:2
帖 子:425
专家分:6
注 册:2007-6-9
得分:0 

void 只能声明指针 而且不能声明数组
void *a 中*a不能被引用

但是从这个程序中看:

void fn(void y);
void fo() ;

main()
{
void *a ; //void a;语法错误
int l ;

printf("%d\n", a) ; //printf("%d\n", *a) ;语法错误
}

void fn(void y)
{
return 0 ;
}

void fo()
{

}


这个程序编译没问题
但是其中函数fn却无法调用
fn(*a); fn(a); fn(l); fn(fo()); 都有语法错误

上面是WIN-TC中的编译结果

下面是C-FREE中的编译成功的程序
#include <stdio.h>

void fn(void *y); // void fn(void y);语法错误
void fo() ;

main()
{
void *a ;
int l ;

printf("%d\n", a) ;
fn(a) ; //其他的写法也是语法错误
}

void fn(void *y) //void fn(void y)语法错误
{
//return 0;语法错误
}

void fo()
{

}



这也算TC的一个BUG了吧

以前没仔细研究过
但是现在还是不太清楚它是在内存中是怎么储存的


见了便做做了便放下了了有何不了,慧生于觉觉生于自在生生还是无生。
活则生变,简而至稳。
2007-09-01 13:44
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
以下是引用永久的守护在2007-9-1 13:44:33的发言:

void 只能声明指针 而且不能声明数组
void *a 中*a不能被引用

但是从这个程序中看:

void fn(void y);
void fo() ;

main()
{
void *a ; //void a;语法错误
int l ;

printf("%d\n", a) ; //printf("%d\n", *a) ;语法错误
}

void fn(void y)
{
return 0 ;
}

void fo()
{

}


这个程序编译没问题
但是其中函数fn却无法调用
fn(*a); fn(a); fn(l); fn(fo()); 都有语法错误

上面是WIN-TC中的编译结果

下面是C-FREE中的编译成功的程序
#include <stdio.h>

void fn(void *y); // void fn(void y);语法错误
void fo() ;

main()
{
void *a ;
int l ;

printf("%d\n", a) ;
fn(a) ; //其他的写法也是语法错误
}

void fn(void *y) //void fn(void y)语法错误
{
//return 0;语法错误
}

void fo()
{

}



这也算TC的一个BUG了吧

以前没仔细研究过
但是现在还是不太清楚它是在内存中是怎么储存的

为什么现在动不动就有人说TC的BUG?
TC面世几十年了,在以前TC独霸一方时,都没听说过的BUG现在都冒出来!

到底是你自己对语法 对IDE的错误认识造成的?还是真的是TC的BUG?


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-09-01 17:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-166722-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.375488 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved