这样的语法是错误的: 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 数据类型的更多相关文章

  1. Go语言学习之数据类型

    ### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...

  2. python语言学习7——数据类型和变量

    整数 python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样 计算机由于使用二进制,有时候采用十六进制表示整数比较方便,十六进制数用0x前缀 浮点数 简单的小数就直接用小 ...

  3. GO语言学习——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符

    基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8.int16.int32.int64 对应的无符号整型:uint8.uint16.uint32.uint64 其中,uint8就是我们熟 ...

  4. GO语言学习——基本数据类型字符串

    字符串 Go语言中的字符串以原生数据类型出现. Go 语言里的字符串的内部实现使用UTF-8编码. 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符 GO语 ...

  5. C语言学习关于数据类型的一些知识点(初学者)

    1.整型常量的的前缀:(1)十进制常数无前缀. (2)八进制常数前缀为0,八进制常数无符号. (3)十六进制常数前缀为0X或0x. 注:在程序中是根据前缀来区分各种进制数的.因此在书写常数时不要把前缀 ...

  6. Go语言学习之数据类型以及类型转换(The way to go)

    生命不止,继续go go go 介绍来go中的变量和常量,今天介绍一下go中的基本类型. 可以分为四大类,现在一点点道来. Boolean Types 布尔类型,不用过多介绍来吧,就是true和fal ...

  7. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  8. 12天学好C语言——记录我的C语言学习之路(Day 8)

    12天学好C语言--记录我的C语言学习之路 Day 8: 从今天开始,我们获得了C语言中很有力的一个工具,那就是函数.函数的魅力不仅于此,一个程序到最后都是由众多函数组成的,我们一定要用好函数,用熟练 ...

  9. 12天学好C语言——记录我的C语言学习之路(Day 3)

    12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...

  10. 郝斌老师C语言学习笔记(一)

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...

随机推荐

  1. 【剑指Offer】【树】二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. A:在二叉树的后序遍历中,数组最后一个元素为根节点,左 ...

  2. Django中遇到的问题

    1.如右上角无Dj的 Django标识 解决方法1: 关闭Pycharm 重启创建项目,进入到Django的所在目录下 解决方法2: 方法3: 第一步: 第二步: 第三步: 第四步: 2.如下图:显示 ...

  3. 蓝牙mesh组网实践(dataflash的占用与管理)

    目录 蓝牙mesh协议中有不少数据需要存储dataflash,以记录网络中的数据.一些数据只需要配网时保存进dataflash,比如说本节点的网络地址.各类密钥等:另一些数据需要在运行中动态更新,比如 ...

  4. angular 路由守卫Observable异步请求串联

    假设路由守卫有这种场景 需要使用observable同时发送多个Http 请求,判断request2返回的数据中是否存在request1返回的数据 使用async await export class ...

  5. Route路径

  6. 备份docker mysql数据库

    1.查看容器 docker ps 2.进入容器 docker exec -it 容器id /bin/bash 3.备份数据 mysqldump 数据库名称 -uroot -p >/root/** ...

  7. vmhost永久免费主机搭建wordpress

    vmhost主机试用+worpress搭建 点击vmhost进入vmhost官网,vmhost提供了永久免费的主机,还附带一个三级域名,并且支自定义子域名,免费托管5G的网页空间,网页支持php语言, ...

  8. 亲测:一个完整Vue开发环境搭建。

    参考博客飞机: https://www.cnblogs.com/zhaomeizi/p/8483597.html

  9. AcWing 791. 高精度加法C++数组实现

    高精度加法 a, b均为正整数 #include <iostream> using namespace std; const int N = 100010; int A[N], B[N], ...

  10. 自我介绍&学习心得

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2023learning/join?id=CfDJ8GXQNXLgcs5PrnWvMs4xAGN4cH ...