变量定义



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

数字间的类型转换



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

int 和 short的转换


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

int 和 long的转换


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

short 和 long的转换


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

int 和 float的转换


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

int 和 double的转换


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

double 和 short的转换


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

float 和 short的转换


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

double 和 long的转换


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

float 和 long的转换


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

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



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

字符串转数字


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

数字转字符串


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

指针的转换



指针强制类型转化


  1. TYPE1* point1;
  2. TYPE2* point2;
  3. point1 = (TYPE1*)point2;

举例


  1. void *buffer;
  2. char *p_addr = (char *)buffer;

或者

  1. //内存分配相似时的指针类型变化
  2. struct sockaddr_in server;
  3. memset(&server, 0, sizeof(server));
  4. server.sin_family = AF_INET;
  5. server.sin_port = htons(4444);
  6. server.sin_addr.s_addr = inet_addr("192.168.0.101");
  7. 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. 内存与cpu的关系

    CPU是负责运算和处理的,内存是交换数据的.当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等. ...

  2. TensorFlow-tensorboard可视化

    运行了很多次出现错误,错误原因在于运行tensorboard时,需要退出python编辑

  3. iOS 多线程简单使用的具体解释

    主线程 一个iOS程序执行后.默认会开启1条线程,称为"主线程"或"UI线程"(刷新UI界面最好在主线程中做.在子线程中可能会出现莫名其妙的BUG) 主线程的作 ...

  4. 微信小程序/支付宝小程序 WxParse解析富文本(html)代码

    小程序本身并不太支持html代码,比如html的img.span.p这个时候改这么办呢?需要用到一个小插件WxParse来实现. 小程序高级交流群:336925436  微信小程序支持富文本编辑器代码 ...

  5. 动态添加的html元素绑定事件的方法

    避免先写了DOM操作,但是元素是动态加载的,所以点击不生效,比较好的方法有两个: 1.动态添加的时候加行内事件,比如onclick="funcName()" 在js中写好方法名对应 ...

  6. Node.js之操作Mongodb

    // mongoose 链接 var mongoose = require('mongoose'); var db = mongoose.createConnection('mongodb://127 ...

  7. scala中Map和Set

    scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质.  可变set import scala.collection.mutable.Se ...

  8. Android : Your APK does not seem to be designed for tablets.

    1. 解决办法: Add these config in AndroidManifest.xml <supports-screens android:smallScreens="tru ...

  9. 【matlab】命令行窗口一直不停的输出ans=1?

    ans= 1 matlab里面的ans是一个系统量,当m文件中出现非赋值性的计算时,matlab会把结果自动存入ans. 如果m文件中每一个计算都是赋值的,即所计算的结果都是保存在自己设定的变量中的, ...

  10. Nginx以服务方式启动并用定时任务每天备份日志

    1.安装Nginx以服务方式启动: a.下载 instsrv.exe.srvany.exe 以管理员方式启动CMD执行以下命令: instsrv Nginx D:\nginx\srvany.exe b ...