请教大家关于 void 类型的函数的问题?
1. void 类型的函数需要 return语句吗?我看的是谭浩强 的 c 语言书,书上 void 类型函数的函数体内都没有return语句;
2. void 只定义在函数和指针上吗? 数据上不能定义void 吧!
3. void * malloc ()函数 ,干怎么理解这个void ,谭书上说:“这个函数有返回值(地址),只是不指向任何数据”,void 函数 不是没有返回值吗?都搞晕了。
感觉这个void 里面有好多的内容啊!求大神赐教了! c
[解决办法]
1)可以return,但是不建议多处return,所以有没return也无所谓了。
2)数据不能是void,但可以是void*,无类型的指针。
3)见2。
[解决办法]
void 函数是没有返回值的函数
void *类型的函数 返回值是一个void *类型的地址 也就是空类型的指针
char * p = (char *)malloc(1024);
这里用到了 对返回的void *类型指针强制转换
一般定义函数参数或者返回值定义void *类型 是为了方便统一和使用参数、返回值类型
[解决办法]
1、void返回也可以return的,只要你觉得你的程度逻辑已经可以返回,就可以return
void func{ if(xxx){return;}else{dosomething}}char *p = (char *)malloc(128)表示申请了128byte大小的内存并把它当作字符类型