a[i] 与 *(a+i) 是等价的。

事实上在计算a[i]的值时,c语言首先将前者转换为后者形式,

而且,通常而言,用指针编写的程序要比用数组下标编写的程序执行速度快,(为什么?)

因此,应该尽量用*(a+i)代替a[i],

但是,我们必须记住

指针是一个变量

在c语言中 pa = a 和 pa ++ 都是合法的(pa与a 是指针变量),

但数组名不是变量,对数组名进行以上操作是非法的。

当把数组名传递给一个函数参数时,

实际上是 用 局部变量 保存了一个 常量,

arr  --------->  int *p

在函数定义中 char s[] 与 char *s 是完全等价的。

我们通常更习惯于使用后一种形式,因为它比前者更直观地表明了该参数是一个指针。

随机推荐

  1. nginx完美支持yii2框架

    nginx完美支持yii2框架 server {listen 80;server_name www.peita.net peita.net;# default_server;access_log /d ...

  2. 1、java基础回顾与加强

    一.    基础回顾 1   集合 1.1  集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList:    数组实现, ...

  3. 怎样新建Oracle数据库

    新建Oracle数据库三种方法:1.通过运行Oracle Database Configuration Assistant 创建配置或删除数据库(也可在命令行下输入dbca):2.用命令行的方式建立数 ...

  4. Java可变长参数方法调用问题

    不说废话,直接上代码: package mytest; import java.util.List; public class TestClass { public void method(List& ...

  5. ACM题目————Subsequence

    Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...

  6. USB wifi调试笔记

    本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...

  7. c# Beginlnvoke 委托

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. PHP生成 excl、word文件

    PHP生成 excl.word文件 $time = time();   $filename = date("Y年m月d日h点m分s秒", $time).'问卷数据';  $rows ...

  9. In Action(SPFA+01背包)

    In Action Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  10. FTP操作类

    using System; using System.Collections.Generic; using System.Net; using System.IO; namespace HGFTP { ...