变量定义



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));//调用时转化了

C语言程序设计--类型转换的更多相关文章

  1. 《C语言程序设计(第四版)》阅读心得(一)

    本篇开始写我个人觉得谭浩强老师的<C语言程序设计(第四版)>中之前没有认识到,或者忘了的知识.因为本科学过,所以有些简单的东西就没有放进来了,所以可能并不是太全面. 第一章程序设计与语言 ...

  2. 《C语言程序设计教程》学习笔记

    <C语言程序设计教程>--朱鸣华.刘旭麟等 第一章 C语言概述 1.C语言的特点: 1)兼具高级.低级语言的双重能力(C语言允许直接访问物理地址,能够进行位操作,能实现汇编语言的大部分功能 ...

  3. 李志杰的C语言程序设计第一次作业

    这个作业属于C语言程序设计课程 : https://edu.cnblogs.com/campus/zswxy/CST2020-2 这个作业要求在哪里: https://edu.cnblogs.com/ ...

  4. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  5. 160809208沈昊辰c语言程序设计实验选择结构设计

    <C语言程序设计>实验报告 学 号 160809208 姓 名 沈昊辰 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C区二层机房 ...

  6. C语言程序设计第4堂作业

    大家注意:本次作业稍有增加,由于放假期间大家空闲时间比较充足,将之前学习过程中遗留的问题必须在假期解决.   本次课学习主要内容: 分支结构中的二分支结构.多分支结构和else-if语句 掌握字符型数 ...

  7. 《VB语言程序设计(第3版)》总结

    我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...

  8. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  9. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

随机推荐

  1. UGUI 加载图片

    图片是动态加载的,然后转换为sprite赋值到ugui的按钮上 代码如下 using UnityEngine; using System.Collections; using System.IO; u ...

  2. 用C++做微信公众平台开发的后台开发时,用sha1加密验证的方法

    微信公众平台开发时,须要验证消息是否来自微信server,这要用到sha1加密算法.官网上给的是php的sha函数,C++中要用到以下这个函数: 一.引入头文件: #include<openss ...

  3. 使用 StoryBoard 实现左右按钮切换图片的浏览效果

    关键技能:使用故事板进行布局时,点击选中控件(组件)并按住 control 键向某个方向拖动,产生一条实线,然后弹出的窗口可以设置控件(组件)的布局约束条件:从而实现自动布局 AutoLayout 效 ...

  4. Android App Crash, send email to author

    http://www.iriphon.com/2011/06/23/how-do-i-get-android-crash-logs/

  5. MyBatis 与 Spring 是如何结合在一起工作的——mybatis-spring(version:1.2.2)

    在MyBatis-Spring的项目中,我们一般会为MyBatis配置两个配置文件 beans-mybatis.xml 和 mybatis-config.xml.其中 beans-mybatis.xm ...

  6. Java输出错误信息与调试信息

    创建一个类,在该类的main()主方法中,使用System类中的out和err两个成员变量来完成调试与错误信息的输出. public class PrintErrorAndDebug { public ...

  7. NetBpm Q&A(7)

    原文:NetBPM工作流的一个示例:请假审批 前言 在NetBPM的实践与应用中,大家一定会遇到各种各样的问题,笔者特建此帖, 聚集了一些典型问题,并作了初步解答.本帖将不断更新,大家有什么问题,可以 ...

  8. cocos2dx 优化略记

    缓存cache: 预加载资源到内存, 可以异步加载.  直接使用sprite:create()来加载资源的话,  有时候会发现,  在第一次运行动作的时候会变的很卡.  那是因为第一次要加载资源到内存 ...

  9. win10进入到安全模式的三种方法

    这里介绍三种方法: 如果能够进入到系统 点击开始--设置--更新和安全--恢复,右侧点击高级启动中的立即重启 能够进入到登陆界面 进入到登录屏幕后,在按住 Shift 键的同时依次选择“电源” > ...

  10. 存储过程中SELECT INTO的使用

    在MySQL存储过程中使用SELECT …INTO语句为变量赋值: 用来将查询返回的一行的各个列值保存到局部变量中. 要求: 查询的结果集中只能有1行. SELECT col_name[,...] I ...