iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中数据的存储举例分析
  • 108
分享到

C语言中数据的存储举例分析

2023-06-25 16:06:59 108人浏览 独家记忆
摘要

这篇文章主要介绍“C语言中数据的存储举例分析”,在日常操作中,相信很多人在C语言中数据的存储举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中数据的存储举例分析”的疑惑有所帮助!接下来,请跟着小编

这篇文章主要介绍“C语言中数据的存储举例分析”,在日常操作中,相信很多人在C语言中数据的存储举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中数据的存储举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    一、类型归类

    对于基本的c语言数据类型的基本归类

    1、整形家族

    char (内存存储的为ascall码值,存储为整数)  unsigned char//   unsigned为无符号关键字      signe char//short    unsigned short (int)// (int )表示int可以省略不写     signed short  (int)int    unsigned int     signed intlong    unsigned  long (int)     signed long   (int)

    2、浮点型家族

    float
    double

    3、指针类型

    int* ptr;char* pa;float* pf;void* pv;

    4、空类型

    void 表示空类型(无类型)

    通常应用于函数的返回类型,返回参数,指针类型

    二、类型的意义

    占据的内存大小

    作为数据时所操作的大小(即为数据看待类型的视角)

    三、数据在类型中存储(以整形和浮点型为例子)

    1. 关于 存储的基本概念

    计算机的(整形)有符号数,有三种表示方法,原码,反码,补码

    三种表示方法 均存在 符号位 和 数值位 两部分,符号位的‘0'表正,‘1'表示负,数值位表示方法有差异(对于无符号数:原,反,补表示相同)

    原码:直接将数字按照正负,用二进制方法翻译表示;

    反码:将原码的符号位不变,其他位按位取反;

    补码:反码+1;

    对于正数而言,原,反,补相同:

    int a=20;// 00000000 00000000 00000000 00010100 原码// 00000000 00000000 00000000 00010100 反码// 00000000 00000000 00000000 00010100 补码

    对于负数而言

    int a=-1;// 10000000 00000000 00000000 00001010 原码// 11111111 11111111 11111111 11110101 反码// 11111111 11111111 11111111 11110110 补码

    对于整形数据而言再内存存储的是补码

    2.存储模式

    大端模式(大端字节序模式):较高的有效字节存储在较低的存储器地址,较低的有效字节存储在较高的存储器地址。

    小端模式(小端字节序模式):较低的有效字节存储在较低的存储器地址,较高的有效字节存储在较高的存储器地址。

    地址的视图

    低-------------------------------->--------高

    关于设计判断当前机器的字节序

    int check_sys(void){    int a=1;    char* p=(char*)&a;//访问第一个字节序看是     01.....0  还是 0...01    return *p;}int main(){    int ret=check_sys();    if(ret==1)        printf("小端");    else        printf("大端");}

    在这里强制转化成(char*)利用他只访问一个字节的视角进行观测

    指针类型的意义

    指针类型决定了指针类型解引用操作符能访问几个字节

    指针+类型决定了指针+1跳过几个字节

    四.应用

    应用前应掌握的基本概念 整形提升

    1.

    char a=-1;//  -1作为整形数在内存中以补码形式存储// 10000000 00000000 00000000 0000001-原码// 11111111 11111111 11111111 1111110 - 反码// 11111111 11111111 11111111 1111111 -补码// 当被赋予a时 a为char型只能存储8个字节 就要发生 截断// 即 a 存储为 1111111signed char b=-1;// sigend为默认关键字 声明和声明都默认为有符号// 同理 b 1111111unsigned char c=-1;// c 1111111将高位当做数值位对待printf("%d %d %d ",a,b,c);//       -1  -1  255// 当要打印为%d 应当发生整形提升 //  负数为有符号型 整形提升高位补1;// 无符号型提升高位补0,将原高位看作数值位//  将 计算过程的  补码   转换为原码后即为所求结果

    2.

    char a=-128;printf("%u\n",a);

    C语言中数据的存储举例分析

    char a=-128;//10000000 00000000 00000000 10000000//11111111 11111111 11111111 01111111//11111111 11111111 11111111 10000000// 截断10000000// char a 有符号 按符号位提升//整形提升  11111111 11111111 11111111 10000000作为 无符号数 原反补相同//11111111 11111111 11111111 10000000-转换为对应的十进制数

    对于char范围的讨论

    有符号的(以下均为补码)

    C语言中数据的存储举例分析

    C语言中数据的存储举例分析

    有符号char范围 -128 --127

    例题

    char a[1000];int i;for(i=0;i<1000;i++){a[i]=-1-i;}printf("%d",strlen(a));

    C语言中数据的存储举例分析

    对于 a[i]的计算结果 从 -1......-128..127....1 0

    所以所得结果为 128+127=255

    无符号(同补码)

    C语言中数据的存储举例分析

    最高位视为数值位则 范围为 0 ---255

    例题

    unsigned char i=0;for(i=0;i<255;i++){   printf(" hello\n");}

    思路同上

    程序陷入死循环

    到此,关于“C语言中数据的存储举例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: C语言中数据的存储举例分析

    本文链接: https://www.lsjlt.com/news/305955.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • C语言中数据的存储举例分析
      这篇文章主要介绍“C语言中数据的存储举例分析”,在日常操作中,相信很多人在C语言中数据的存储举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中数据的存储举例分析”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-25
    • C语言中数据存储的示例分析
      这篇文章主要介绍了C语言中数据存储的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。(壹)大端小端藏端倪1.1  什么是大端小端大端(存储)模式,是指数据的低...
      99+
      2023-06-29
    • C++语言举例分析
      这篇文章主要介绍“C++语言举例分析”,在日常操作中,相信很多人在C++语言举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++语言举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!因为依赖开...
      99+
      2023-06-17
    • C语言数据的存储专项分析
      目录数据的类型介绍类型的基本归类整形在内存中的存储源码、反码、补码关于大小端的概念浮点型在内存中的存储数据的类型介绍 类型的基本归类 在写数据类型的介绍之前,我们首先来简单介绍下 r...
      99+
      2024-04-02
    • 如何分析C语言数据的存储
      如何分析C语言数据的存储,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数据类型的介绍数据类型存在的意义为变量开辟的空间大小(大小决定了使用范围)取数据的时候按照...
      99+
      2023-06-22
    • C语言算法举例分析
      这篇文章主要介绍“C语言算法举例分析”,在日常操作中,相信很多人在C语言算法举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言算法举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!最近,我一...
      99+
      2023-06-17
    • C语言数据在内存中的存储流程深入分析
      目录前言类型的基本分类整型浮点数自定义类型整型在内存中的存储原码、反码、补码大端和小端如何判断编译器是大端还是小端浮点数在内存中的存储总结前言 C语言中有char、short、int...
      99+
      2022-11-13
      C语言数据在内存中的存储 C语言数据存储
    • 深度解析C语言中数据的存储
      目录前言数据类型介绍类型的基本归类整型家族浮点数家族构造类型指针类型空类型前言 在VS编译器里有release和debug两种形式,debug包含调试信息,release不包含调试信...
      99+
      2024-04-02
    • c语言中数据存储与原码、反码、补码的示例分析
      这篇文章主要介绍了c语言中数据存储与原码、反码、补码的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.数据的类型介绍在学习数据储存之前,让我们先认识一下数据类型。以...
      99+
      2023-06-29
    • C语言数据在内存中的存储
      这篇文章主要介绍了C语言数据在内存中的存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据类型详细介绍在前面C语言基础概览中,已经提到过了基本的C语言内置类型,但C语言的数...
      99+
      2023-06-15
    • 详解C语言中数据的存储
      目录一、类型归类1、整形家族2、浮点型家族3、指针类型4、空类型二、类型的意义 三、数据在类型中存储(以整形和浮点型为例子)1. 关于 存储的基本概念2.存储模式四.应用1.2.对...
      99+
      2024-04-02
    • mysql存储过程举例分析
      这篇文章主要讲解了“mysql存储过程举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql存储过程举例分析”吧!(1).格式MySQL存储过程创...
      99+
      2024-04-02
    • C语言详细分析浮点数在内存中的储存
      目录浮点数的储存格式初步了解深入探究E不全为0或不全为1E全为0E全为1浮点数的储存格式 初步了解 首先让我们通过一段代码来认识一下浮点型和整型的区别: int main() { ...
      99+
      2024-04-02
    • C语言简单题目举例分析
      本篇内容主要讲解“C语言简单题目举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言简单题目举例分析”吧!题目题目描述针对等额本金还款模式的客户,写一个程序按顺序输入贷款总额(单位为万元...
      99+
      2023-06-03
    • C语言中数据的存储详解
      目录1.内置类型(1)整型数组(2)浮点型2.自定义类型3.指针类型4.空类型(void)字符型浮点型(一)(二)总结 数据的存储首先就要说到数据的类型,类型决定了看待内存空间的视角...
      99+
      2024-04-02
    • C语言中枚举和联合体的示例分析
      这篇文章主要介绍了C语言中枚举和联合体的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。枚举什么是枚举?顾名思义,就是一一列举,把所有的情况,所有的取值,一一列举出来。...
      99+
      2023-06-25
    • C语言中数据类型的示例分析
      这篇文章将为大家详细讲解有关C语言中数据类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(壹) 数据类型介绍前面我们已经学习了基本的内置类型,以及他们所占存储空间的大小。:类型的意义...
      99+
      2023-06-29
    • C语言数据的存储详解
      目录数据类型的介绍整形浮点型构造类型指针类型void空类型整数在内存中的存储原反补的介绍大小端的介绍面试例题练习浮点数在内存中的存储存储规则讲解举例IEEE754的特别规定案例flo...
      99+
      2024-04-02
    • C语言数据在内存中的存储详解
      目录文章摘要一、C语言的数据类型数据类型基本分为: 二、隐式类型转换1.什么是隐式类型转换2.整型提升 3.类型转换三、机器大小端1.什么是大小端2.大小端在截断的应用3....
      99+
      2024-04-02
    • C语言数据存储详解
      目录一、数据类型二、整型在内存中的存储1.原码、反码、补码大小端介绍三、浮点型在内存中的存储1.举一个浮点数存储的例子: 2.浮点数存储规则: 总结一、数据类型 char:字符数字类...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作