zoukankan      html  css  js  c++  java
  • (C初学) 对数组与指针的一些浅显的理解

      因为课堂上没听懂,又看不懂教科书(《C语言程序设计教程》第3版 谭浩强,张基温编著)上晦涩的表达方式,昨天晚上特意拿《C语言入门经典》这本书自己研究了一晚的数组与指针。

      先来一个简单的程序:

     1 #include<stdio.h>
     2 
     3 int main()
     4 {
     5   char board[3][3]={
     6             {'1','2','3'},
     7             {'4','5','6'},
     8             {'7','8','9'}
     9             };
    10   
    11 
    12   printf("value of board[0][0] : %c
    ", board[0][0]);
    13 
    14   printf("value of *board[0] :   %c
    ", *board[0]);
    15   printf("value of **board :     %c
    ", **board);
    16 
    17   
    18 
    19   return 0;
    20 
    21 }

      

     1 输出如下:
     2 
     3   value of board[0][0] : 1
     4 
     5   value of *board[0]   : 1
     6 
     7   value of **board     : 1
     8 
     9  
    10 
    11   board[0][0]

      在二维数组board[3][3]中:

      board        相当于一个指针(*board/board[0])的指针,指向第0个子数组的第0个元素,即二维数组board[3][3]的首个元素。即,board表示的是二维数组里的第0个子数组的地址。
      *board      使用取消引用运算符*,取消对board这一指针的引用,得到board所指的值。*board相当于一个指针,指向第0个子数组里的元素。 *board 等同于 board[0] (*board == board[0] ),即二维数组里的第0个子数组中第0个元素的地址。
      **board     再次使用取消运算符*,取消对*board这一指针的引用,得到*board所指的值。即,**board是第0个子数组中第0个元素的值。

      board[0]    相当于一个指针,指向第0个子数组里第0个元素,即二维数组board[3][3]的首个子数组的首个元素。即,board[0]是第0个子数组里第0个元素的地址。
      *board[0]  使用取消运算符*,取消对board[0]这一指针的引用,得到board[0]所指的值。即,*board[0]是第0个子数组里第0个元素的值。


      board[0][0]相当于一个变量名称。

      *board[0]与**board是对 数组 相当于 指针的应用。

      

      这就是我昨天晚上自学的收获与体会了。

      这是我第一次在博客园发随笔,而且不确定我的总结有没有错误,或者有更简洁、更透彻的理解,恳请各位志同道合的同学、各位大牛批评指教。谢谢大家~

  • 相关阅读:
    VC:文件串行化(CFileDialog类、CFile类、CArchive类、Edit控件)
    实例说明optimize table在优化mysql时很重要
    文件备份,同步工具rsync服务器端的安装及配置
    log4cxx does not compile on kernel 2.6.29.6
    CentOS桌面安装
    编译 apachelog4cxx0.10.0inputstreamreader.cpp:66: error: ‘memmove’ was not declared in this sco
    解决/usr/bin/ld: cannot find lmysqlclient错误
    mysql 复制表数据,表结构的3种方法
    php 动态添加OPENSSL模块
    mysql开启慢查询方法
  • 原文地址:https://www.cnblogs.com/nemowang1996/p/4566913.html
Copyright © 2011-2022 走看看