c语言学习---void 数据类型
这样的语法是错误的: void a = 10; void表示无类型, 这样定义一个变量a, 编译器是无法知道给a分配多大的内存空间的
#include<stdio.h>
#include<stdlib.h> // 1. void 限定函数的返回值, void 函数没有返回值 void function1()//表示这个函数是没有返回值的
{
printf("hello world");
} int main()
{
function1();
return 0;
}
hello world
#include<stdio.h>
#include<stdlib.h> //可以不定义函数的类型 function1()
{
return 10;
} int main()
{
int a;
a = function1();
printf("%d",a); return 0;
} 10
#include<stdio.h>
#include<stdlib.h> //定义了void, 无返回值, 但是最后还是有return ,这样调用函数function1()的时候虽然不会报错, 但是不建议这样使用 void function1()
{
return 10;
} int main()
{
function1(); return 0;
}
2. 限定函数的传参列表
#include<stdio.h>
#include<stdlib.h> int function1()
{
return 10;
} void function2()
{
printf("%d, ",function1());
} int main()
{
function2();
return 0;
} 10 #include<stdio.h>
#include<stdlib.h> int function1()
{
return 10;
} void function2()
{
printf("%d, ",function1(110));//function1()函数没有传参, 但是这里传参, 但是不会报错, 输出的还是10
} int main()
{
function2();
return 0;
} 10 #include<stdio.h>
#include<stdlib.h> int function1(void) //在这里加上一个void, 表示没有传参
{
return 10;
} void function2()
{
printf("%d, ",function1(110));//function1()加上void 变成function1(void), 这个时候再这样调用function1(void)就会报错, 因为void已经表示无传参了
} int main()
{
function2();
return 0;
}
3. void * 万能指针, 可以不需要强制类型转换就可以给等号左边赋值
比喻说
int* pInt = NULL;
char* pChar = NULL;
// 将pChar复制给pInt
pInt = pChar //这样会报错, 因为指针类型不一样
pInt = (int*)pChar //使用(int*) 进行强制类型转换
//但是可以定义一个万能指针
void* pVoid = NULL;
pChar = pVoid //万能指针, 可以不需要强制类型转换就可以给等号左边赋值
#include<stdio.h>
#include<stdlib.h> int main()
{
int* pInt = NULL;
char* pChar = NULL;
void* pVoid = NULL; pChar = (char*) pInt;
pChar = pVoid; printf("%p", pChar);
return 0;
}
c语言学习---void 数据类型的更多相关文章
- Go语言学习之数据类型
### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...
- python语言学习7——数据类型和变量
整数 python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样 计算机由于使用二进制,有时候采用十六进制表示整数比较方便,十六进制数用0x前缀 浮点数 简单的小数就直接用小 ...
- GO语言学习——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符
基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8.int16.int32.int64 对应的无符号整型:uint8.uint16.uint32.uint64 其中,uint8就是我们熟 ...
- GO语言学习——基本数据类型字符串
字符串 Go语言中的字符串以原生数据类型出现. Go 语言里的字符串的内部实现使用UTF-8编码. 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符 GO语 ...
- C语言学习关于数据类型的一些知识点(初学者)
1.整型常量的的前缀:(1)十进制常数无前缀. (2)八进制常数前缀为0,八进制常数无符号. (3)十六进制常数前缀为0X或0x. 注:在程序中是根据前缀来区分各种进制数的.因此在书写常数时不要把前缀 ...
- Go语言学习之数据类型以及类型转换(The way to go)
生命不止,继续go go go 介绍来go中的变量和常量,今天介绍一下go中的基本类型. 可以分为四大类,现在一点点道来. Boolean Types 布尔类型,不用过多介绍来吧,就是true和fal ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
- 12天学好C语言——记录我的C语言学习之路(Day 8)
12天学好C语言--记录我的C语言学习之路 Day 8: 从今天开始,我们获得了C语言中很有力的一个工具,那就是函数.函数的魅力不仅于此,一个程序到最后都是由众多函数组成的,我们一定要用好函数,用熟练 ...
- 12天学好C语言——记录我的C语言学习之路(Day 3)
12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...
- 郝斌老师C语言学习笔记(一)
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...
随机推荐
- conda创建和启动python虚拟环境
conda与python虚拟环境 创建环境 conda create -n ENV_NAME python=3.9 激活环境 conda activate ENV_NAME 给虚拟环境安装包: con ...
- day01-java流程
Scanner对象 基本语法: Scanner s = new Scanner(System.in); next()方法 nextLine()方法 顺序结构 选择结构 if单选结构 语法: if(布尔 ...
- [CSS]隐藏浏览器滚动条
::-webkit-scrollbar { display: none; /* Chrome Safari */ }
- Software_programming_EnterpriseArch_ServiceWithSingleTonFactory
19:50:31 <UML 模式和应用> P322 系统需要支持多种第三方外部服务,例如费用计算,授权服务,库存系统,都具有不同的API, 而且还无法改变. 解决方案之一: 使用 单例模式 ...
- 【个人笔记】CentOS 安装 Docker CE
要在 CentOS 上开始使用 Docker CE,请确保 满足先决条件,然后 安装Docker. 1. 卸载旧版本 sudo yum remove docker docker-client dock ...
- leecode70. 爬楼梯
70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到 ...
- 12组-Alpha冲刺-总结
组长博客链接 https://www.cnblogs.com/147258369k/p/15573118.html 一.基本情况 1.1 现场答辩总结 PPT制作方面略显粗糙,对于产品描述的具体内容不 ...
- 6.navicat for mysql 定时计划 定时导出EXCEL文件 并 附件发送邮件到固定邮箱
链接:https://blog.csdn.net/pizilii/article/details/80829761 补充: 先查看mysql定时任务是否开启. show variables like ...
- C# load and unload dll
1. Invoker Any c# project Create a new application domain Create a proxy within the domain Unload th ...
- uniapp打包h5
1. 找到项目中 manifest.json --- H5 配置---运行时的基础路径, 将路径修改为 相对路径(./ ) 注意: 1.运行的基础路径系统默认打包路径为绝对路径,如不改,打包时找不到对 ...