黑马程序员--变量的内存分析

来源:互联网 发布:windows 10 live mail 编辑:程序博客网 时间:2024/06/05 17:34

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

变量的内存分析
1.内存寻址由小到大,优先分配内存地址比较大的字节给变量
2.变量越先定义,内存地址就越大
3.取得变量的地址:&变量名
4.输出地址:&p
5.一个变量一定要先进行初始化才能使用

#include <stdio.h>int main(){    // 内存寻址由大到小  a的地址是:0x7fff5503bbe8    // b的地址是:0x7fff5503bbe4    int a = 10;    int b = 20;    // &是一个地址运算符,取得变量的地址    // %p用来输出地址    printf("a的地址是:%p\n",&a);    printf("b的地址是:%p\n",&b);    // 变量c没有初始化 不能使用    int c;    int d = c + 1;    return 0;}

scanf函数
1.简介
这也是在stdio.h中声明的一个函数,因此使用前必须加入#include

int main(){    /*2.//一次性输入多个值,并且以某个符号隔开     int num1,num2;     scanf("%d,%d",&num1,&num2);     printf("num1=%d,num2=%d"num1,num2);     */    //3.scanf中不能写\n(回车键)    int a ;    scanf("%d\n",&a);//错误写法    return 0;}

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

4.注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母
// 逗号,
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

5.用scanf函数接收3个数值,每个数值之间用空格隔开
scanf(“%d %d %d”, &a, &b, &c);

3个%d之间是用空格隔开的,我们在每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车

6.注意
scanf的第一个参数中不要包含\n,比如scanf(“%d\n”, &a); 这将导致scanf函数无法结束

scanf函数的练习
提示用户输入两个整数n,然后计算并输出两个整数的和
代码如下:

#include <stdio.h>int main(){   //定义2个变量,保存用户输入的整数    int num1, num2;    //提示用户输入第一个整数    printf("请输入第一个整数:\n");    //接受用户输入的整数    scanf("%d",&num1);    //提示输入第二个整数    printf("请输入第二个整数\n");    //接受第二个整数    scanf("%d",&num2);    //计算和并输出    int sum = num1 + num2;    printf("%d+%d=%d\n",num1 ,num2,sum);    return 0;}
0 0
原创粉丝点击