zoukankan      html  css  js  c++  java
  • iOS_05_变量的内存分析、Scanf函数

    一、变量的内存分析

      1.字节和地址

        * 为了更好地理解变量在内存中得存储细节,先来认识一下内存中得”字节“和”地址“。

        * 内存以字节为单位

        * 不同类型占用的字节是不一样的,数据越大,所需的字节数九越多

      2.变量存储

        * 所占用的字节数跟类型有关,也跟编译器环境有关

        

      16位编译器 32位编译器 64位编译器
    char 1 1 1
    int 2 4 4
    float 4 4 4
    double 8 8 8

         * 变量实例

           int b =10;

         int a = 20;

          # 内存由大到小寻址,优先分配内存地址较大字节给变量。b的内存地址比a大;

          # 每个变量都有地址:第一个字节的地址就是变量的地址;

        *查看内存地址

          int a;

          printf("a 的地址是:%p ",a);

    二、scanf函数

      1、简介

        这是在stdio.h 中声明的一个函数,因此使用前必须加入#include<stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf 函数会等到标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量;

      2、简单用法

        int age;

        scanf("%d",&age);

        * 调用scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是”%d“,说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中得一个地址运算符,可以用来获取变量的地址

        * 输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数嘿将输入的值赋值给age变量。

      3、其他用法

        *用scanf函数接收3个数值,每个数值之间用中划-隔开

          scanf("%d-%d-%d",&a,&b,&c);

        3个%d之间是用中划线-隔开的,因此我们在每输入一个整数后都必须价格中划线-,比如这样输入 10-14-20,不然在给变量赋值的时候会出问题。

     

  • 相关阅读:
    20191119PHP.class类练习
    20191115PHP cookie登入实例
    Jenkins详细教程
    Navicat 破解
    测试_离职_交接内容
    ETL方法与过程讲
    ETL测试或数据仓库测试入门
    大数据基础了解-(基础01)
    adb调试显示adb: usage: unknown command device
    hive 创建/删除/截断 表(翻译自Hive wiki)
  • 原文地址:https://www.cnblogs.com/-ljj/p/3710637.html
Copyright © 2011-2022 走看看