码迷,mamicode.com
首页 > 编程语言 > 详细

黑马程序员——C语言变量内存分析与scanf函数

时间:2015-01-27 17:44:27      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

                                             Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

 

1.变量的内存分析

   1)变量以字节为单位,每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的房号是连续的,相邻字节的地址也是连续的。计算机中通常以十六进制表示地址。变量所占用字节数跟类型有关,也跟编译器环境有关

       技术分享

   2)内存由大到小寻址,优先分配内存地址较大的字节给变量。

       假设:int a=1;int b=2;下面是对其进行的模拟内存分析。

            技术分享

   3)查看变量内存地址,用 & 符号。

        如:int age;

             printf("age 的地址为:%p",&age);

 

2.scanf函数

   》》基本介绍

        Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio.h>头文件。当执行到scanf函数时,程序就暂停等  待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。

   》》使用注意

(1)使用scanf函数输入一个字符变量。Char a; scanf(“%c”,&a);

(2)同时输入多个值:Scanf(“%d,%d”,&num1,num2); 

       注意:在这里占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部为“%d#%d”则输入1#2。若内部为“%dy%d”,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。

(3)Scanf(“%d\n”,&a);在内部不能使用\n转义字符,否则没完没了。

 

 

                                                  Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

黑马程序员——C语言变量内存分析与scanf函数

标签:

原文地址:http://www.cnblogs.com/yintingting/p/4253394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!