IOS基础---C语言学习之变量与内存及重要的scanf函数

一、变量的内存分析

1.字节和地址

1> 内存以字节为单位,内存的每一个字节都有一个唯一的编号,这个编号就称为地址。

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

 

2.变量的存储

1>变量类型的作用

变量类型决定了变量所占用的存储空间

2>变量占用多少存储空间

3>变量实例

#include <stdio.h>
int main()
{
    int b = 10;
    int a = 20;
    return 0;
}

如果这样定义变量的话

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

(2)每个变量都有自己的地址:第一个字节的地址就是变量的地址

4>查看变量的内存地址

#include <stdio.h>
int main()
{
    int a;
    printf("a的地址是:%p\n", &a);
    return 0;
}

%p是用来输出地址的,&是取址运运算符,&a表示取出变量a的地址

5>注意

#include <stdio.h>
int main()
{
    int a;
    printf("a的值是:%d\n", a);
    return 0;
}

在变量未经初始化之前,不要尝试使用变量的值,因为它此时里面存储的不一定是什么值

 

二、scanf函数

1.简介

Scanf函数就是一个输入函数,使用前必须加入#include<stdio.h>。调用scanf函数时,需要传入变量的地址作为参数

 

2. 简单用法

#include <stdio.h>
int main()
{
    int age;
    scanf("%d", &age);
    return 0;
}


1> scanf函数执行时,程序会卡住,等待用户键盘输入,scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age&C语言中的一个地址运算符,可以用来获取变量的地址

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

 

3.其他用法

scanf函数可以同时接收n个数值,但是需要输入方式跟定义方式匹配。

//一次输入多个变量,用横线 '-' 隔开
scanf("%d-%d-%d", &a,&b, &c);
// 输入格式:10-14-20 

//一次输入多个变量,用逗号 ',' 隔开
scanf("%d,%d,%d", &a,&b, &c);
// 输入格式:10,14,20 

//一次输入多个变量,用井号 '#' 隔开
scanf("%d#%d#%d", &a,&b, &c);
// 输入格式:10#14#20 

//一次输入多个变量,用字母 'x' 隔开
scanf("%dx%dx%d", &a,&b, &c);
// 输入格式:10x14x20

 
//一次输入多个变量,用空格 ' ' 隔开
scanf("%d %d %d", &a,&b, &c);
//输入格式:10 14 20
 

4.注意

scanf的第一个参数中不要包含\n,比如:

#include <stdio.h>
{
    scanf(“%d\n”, &a);
    return 0;
}

这将导致scanf函数无法结束

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值