zoukankan      html  css  js  c++  java
  • C语言程序设计--类型转换

    变量定义



    int var_int = 111111111;
    char var_char = '2';
    double var_double = 3.30;
    float var_float = 4.80;
    short int var_short = 5;
    long int var_long = 6111111111111111;
    

    数字间的类型转换



    总结:占字节数多的类型转换成占字节数少的类型时,会根据在占字节少的类型的内存区的01排列来决定值。

    int 和 short的转换


    (int)var_short//short->int
    (short)var_int//int->short 如果int过大,short会根据自己所占位置的01情况成为相应的数值
    

    int 和 long的转换


    (int)var_long//long->int 如果long过大,int会根据自己所占位置的01情况成为相应的数值
    (long)var_int//int->long
    

    short 和 long的转换


    (long)var_short//short->int
    (short)var_long//long->short 如果long过大,short会根据自己所占位置的01情况成为相应的数值
    

    int 和 float的转换


    (int)var_float//float->int向下取整
    (float)var_int//int->float
    

    int 和 double的转换


    (int)var_double//double->int向下取整
    (double)var_int//int->double
    

    double 和 short的转换


    (short)var_double//double->short向下取整
    (double)var_short//short->double
    

    float 和 short的转换


    (short)var_float//float->short向下取整
    (float)var_short//short->float
    

    double 和 long的转换


    (long)var_double//double->long向下取整
    (double)var_long//long->double
    

    float 和 long的转换


    (long)var_float//float->long向下取整
    (float)var_long//long->float
    

    数字与字符、字符串的转化



    这是一组函数,在头文件<stdlib.h>中

    字符串转数字


    atoi();//把字符串转化为整形。
    atol();//把字符串转化为长整形。
    atof();//把字符串转化为双精度浮点型。
    strtod();//将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
    strtol();//将字符串转换为长整值,并报告不能被转换的所有剩余数字。
    strtoul();//将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。
    

    数字转字符串


    itoa();//将整型值转换为字符串。
    ltoa();//将长整型值转换为字符串。
    ultoa();//将无符号长整型值转换为字符串。
    gcvt();//将浮点型数转换为字符串,取四舍五入。
    ecvt();//将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。
    fcvt();//指定位数为转换精度,其余同ecvt()。
    

    指针的转换



    指针强制类型转化


    TYPE1* point1;
    TYPE2* point2;
    point1 = (TYPE1*)point2;
    

    举例


    void *buffer;
    char *p_addr = (char *)buffer;
    

    或者

    //内存分配相似时的指针类型变化
    struct sockaddr_in server;
    memset(&server, 0, sizeof(server));
    server.sin_family = AF_INET;
    server.sin_port = htons(4444);
    server.sin_addr.s_addr = inet_addr("192.168.0.101");
    int result = connect(sockfd, (struct sockaddr*)&server, sizeof(struct sockaddr));//调用时转化了
    
  • 相关阅读:
    RabbitMQ简介、特性、使用场景、安装、启动与关闭
    mybatis的工作原理
    bzoj2119 股市的预测
    Noi2014 购票
    51Nod 算法马拉松22 开黑记
    COGS2485 从零开始的序列
    Codeforces Round #402 (Div.2)
    BestCoder Round #92
    COGS2294 释迦
    bzoj4764 弹飞大爷
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/10242257.html
Copyright © 2011-2022 走看看