zoukankan      html  css  js  c++  java
  • C语言中指针和取地址符&的关系

    一 概念定义:

      严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址。
      指针原理:

       其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放数据。

    为了方便使用,编译器允许我们在写程序的时候,对抽屉进行命名(而不是使用抽屉的编号),这就是变量名。就比如说我们在程序中定义:char C; 这个时候系统会帮我们找一个空闲的抽屉(比方说编号为981的抽屉),命名为

    C,用于存放一个字符变量。以后我们在程序里只要使用C这个变量,系统就知道是要对981这个抽屉里的数据进行操作。

         指针是什么呢?

      指针是我们申请一个空抽屉,里面不放数据,而放编号。比如我们申请一个字符指针:char *ch=&C; 这个时候,ch里面放的是C这个变量的地址(也就是981),其中&是取址符,也就是取C这个变量的地址,而不是值。*ch才

    是ch指向的值。

    二 实例解析:

         下面这个例子 很好的说明了两者的关系:

     1 #include <stdio.h>
     2 
     3 typedef struct
     4 {
     5     int arr;
     6     int brr;
     7 }test_array;
     8 
     9 test_array i_test;
    10 
    11 void test(test_array *btest)
    12 {
    13     btest->brr = 20;
    15     printf("btest->brr:%d ",btest->brr);
    16 
    17 }
    18 int main()
    19 {
    20     i_test.arr = 10;
    22     test(&i_test);
    24     printf("i_test.arr:%d ",i_test.arr);
    25 
    26     return 0;
    27 }
  • 相关阅读:
    Python之从头开始建立项目流程
    Python之建立APP流程以及SVN 的使用
    python之继承
    Python之实例对象的增删改查
    Python之类属性的增删改查
    read big file
    python minus 3 days or n days
    movie
    pyqt convert ui file to py file
    pyqt4 borderless window
  • 原文地址:https://www.cnblogs.com/dylancao/p/12310742.html
Copyright © 2011-2022 走看看