在C语言中取地址运算符是“&”。“&”作为一元运算符,结果是右操作对象的地址;地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置。

在C语言中取地址运算符是”&“

示例:

#include <stdio.h>int main(void){    int a = 0;    int *p = &a;    printf("The value is: %d/n", *p);    return 0;}

&作为一元运算符,结果是右操作对象的地址。

例如&x返回x的地址。

地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置。至于对象,LZ现在只需知道包含常量、变量等数据就可以了。

scanf("%d,%d",&x,&y);

这里的&x表示x的地址,&y表示y的地址。scanf接收地址,然后把键盘(更确切地说是stdin输入流缓冲区)读入的信息按格式字符串的形式处理后存放到接收到的地址中。对于纯C来说,函数的参数是只能值参而不是变参,函数内部对参数的改变只影响参数本身而不影响调用函数时的实际参数(换句话说函数内部的只是副本)。所以这里不能向scanf传递x本身,需要用地址&x指明需要存放的位置,才能把值存到x中。

等系统地学完函数和指针传递函数参数以后,LZ应该会对这个有比较清楚的认识。

至于读键盘的活,是编译环境(包括操作系统底层)干的,和C语言本身无关

推荐教程:《C语言》

更多相关文章

  1. C语言中有且唯一的函数是什么
  2. c语言strcmp函数用法详解
  3. fgetc函数的作用详解
  4. c语言函数由哪两部分组成
  5. c语言用什么函数来比较字符串大小?
  6. system()函数是什么
  7. c语言中strstr函数的用法是什么?
  8. c语言strcmp函数用法是什么?
  9. main函数是C语言的唯一起点,对么

随机推荐

  1. 如何在Javascript中从Json数组创建路径路
  2. jQuery插件:如何将元素引用传递给回调函数
  3. 动态的JQUERY追加父子div。
  4. 在textarea上应用0高度div的类
  5. 我可以在JavaScript中从不同的页面传递参
  6. 为什么我不能删除数组的元素?
  7. JS 模仿块级作用域
  8. Javascript 面向对象编程(一):封装
  9. 轮播图---可以动态添加图片,(封装成一个函
  10. 如何淡入和淡出并改进我当前的JavaScript