首页 > 其他分享 >c语言学习---void 数据类型

c语言学习---void 数据类型

时间:2022-10-30 13:00:07浏览次数:39  
标签:function1 10 return int void 数据类型 --- include

 

 这样的语法是错误的: 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;
}

 

标签:function1,10,return,int,void,数据类型,---,include
From: https://www.cnblogs.com/shunguo/p/16841051.html

相关文章

  • 2022-2023-1 20221313《计算机基础与程序设计》第九周学习总结
    2022-2023-120221313《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程<班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP......
  • 【设计模式】-python-创建型
    单例模式只允许一个类只有一个实例。先了解一下下python的init()方法和new()方法init不是实例化一个类第一个调用的方法,第一个调用的方法是new方法,new方法返回一个......
  • 团队展示--队员风采
    团队展示--队员风采风格:分工明确,团队协作擅长的技术:C/python编程的兴趣:网页前端希望的软工角色:测试一句话宣言:自2020年起,我就是这么的惊人......
  • 2022-2023-1 20221302《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09作业目标 ......
  • CSP-S 2022 游记
    省流:寄了。初赛部分Day-2已经停课了,这次果然没有报普及组。(不能AK了呜呜呜……)下午老师给我们送了蛋糕和奶茶过来,好像是老师的生日。不过过两天也是我的生日呢,不知......
  • SpringMVC源码-DispatcherServlet初始化
    web容器启动后会实例化Servlet,会执行Servlet的init方法且只会执行一次。后续调用doService处理客户请求。DispatcherServlet的构造方法publicDispatcherServlet(){ su......
  • 一句话启动web服务--参考
    文档说明:只记录关键地方;python3python3-mhttp.server8000PHPphp-S0.0.0.0:8000-t.nodejsnpminstallhttp-server-g--registry=https://registr......
  • 2022CSP-S游记
    关于“我在沣东一中考试但是心态崩溃”这档事:(酌情观看,可能代表了大部分在第一和第五考场的参赛选手)-10min:考前写对拍,发现不能用fc-5min:发现srand(time(0))报错原因“无法读......
  • leetcode-2160-easy
    MinimumSumofFourDigitNumberAfterSplittingDigitsYouaregivenapositiveintegernumconsistingofexactlyfourdigits.Splitnumintotwonewintegers......
  • C语言学习--文件操作--文件流指针--打开文件
    当打开一个文件时,系统会返回一个结构体,这个结构体有对此文件操作的所有信息调用fopen时,系统返回这个结构体的地址FILE*p=fopen("a.txt")   打开一个文件FIL......