前文:C++之指针探究(一):一级指针和二级指针

一. 通过数组名访问数组元素(数组名是数组第一个元素的首地址)

例1:

运行结果:

附例1代码(左例):

//小问学编程
#include <iostream>
using namespace std;int main()
{int i,a[]={1,2,3,4,5,6,7,8,9,10};for (i=0;i<=9;i++){cout<<a[i]<<endl;}return 0;
}

附例1代码(右例):

//小问学编程
#include <iostream>
using namespace std;int main()
{int i,a[]={1,2,3,4,5,6,7,8,9,10};for (i=0;i<=9;i++){cout<<*(a+i)<<endl;}return 0;
}

二. 通过指针访问数组元素

例2:

运行结果:

附例2代码(左例):

//小问学编程
#include <iostream>
using namespace std;int main()
{int i,*pa,a[]={1,2,3,4,5,6,7,8,9,10};pa = a;//请注意数组名a直接赋值给指针pafor(i=0;i<=9;i++){cout<<pa[i]<<endl;}return 0;
}

附例2代码(右例):

//小问学编程
#include <iostream>
using namespace std;int main()
{int i,*pa,a[]={1,2,3,4,5,6,7,8,9,10};pa = a;//请注意数组名a直接赋值给指针pafor(i=0;i<=9;i++){cout<<*(pa+i)<<endl;}return 0;
}

三. 数组名与指针变量的区别

例3:

  可以看出,这段代码也是将数组各元素值输出。不过,把循环体{ }中的pa改成a运行,发现程序编译出错,不能成功。看来指针和数组名还是不同的。其实上面的指针是指针变量,而数组名只是一个指针常量。
  数组名只是一个地址,而指针是一个左值。

C++之指针探究(二):一级指针和一维数组相关推荐

  1. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 为 二级指针 分配内存 - 存放 一维指针 | 为每个 一级指针 分配内存 | 释放二维指针内存 )

    文章目录 一.二级指针 1.为 二维指针 分配内存 2.为每个 一维指针 分配内存 3.释放 二维指针 内存 二.完整代码示例 一.二级指针 声明二级指针 : // 声明二维指针char **p = ...

  2. C++之指针探究(四):指针和二维数组

    前文:C++之指针探究(三):指针数组和数组指针 一. 二维数组 二维数组通常也被称为矩阵(matrix). 六种初始化方式:   (1) int a[3][4] = {1,2,3,4,5,6,7,8 ...

  3. C++之指针探究(三):指针数组和数组指针

    前文:C++之指针探究(二):一级指针和一维数组 一. 指针数组 或: 指针数组的本质是数组,数组中每一个成员是一个指针.定义形式如下:   char∗\ast∗ pArray[10]; 语法解析:p ...

  4. 【Android FFMPEG 开发】FFMPEG 方法中指针类型参数说明 ( 一维指针类型参数 | 二维指针类型参数 )

    文章目录 I . 一维指针类型参数 II . 二维指针类型参数 I . 一维指针类型参数 1 . 音视频流数据包获取 : //读取数据包AVPacket *avPacket = av_packet_a ...

  5. 关于图的二维矩阵转为一维数组的理解。

    一开始看二维矩阵转为一维数组的时候还是有点懵的,为啥是N(N+1)/2呢,为啥不是N*N/2呢,这个矩阵明明是N*N的一个正方形啊,我要省一半空间直接除2不就行了,带着这个问题我观察了一下这个PPT里 ...

  6. c语言与指针——(二)指针变量的定义与赋值

    由上一节,我们知道了,指针就是地址,而变量的指针就是变量的地址,存放变量地址的变量就是指针变量.指针变量可以指向另一个变量,在程序中使用" * "来表示这种指向关系. 1.指针变量 ...

  7. C++指针探讨 (二) 函数指针

    在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易.而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段. 我们先简单 ...

  8. C语言中二维指针,C语言中怎样区分一维指针和二维指针?

    首先,你下面for循环有误,不是for(j=0;i<2;j++)而是for(j=0;j<2;j++) 然后 过程的详细解释如下: #include main() { int a[3][2] ...

  9. C++之指针探究(五):数组指针和二维数组

    前文:C++之指针探究(四):指针和二维数组 回顾:初始化二维数组时可以"偷懒":int array[2][3]={{0,1,2},{3,4,5}}; 可以写成:int array ...

最新文章

  1. python3.6.1安装教程-在Linux上安装Python3.6.1
  2. 剑三服务器文件在哪里,剑三服务器同步设置在哪
  3. Python基础语法-三种函数特殊形参定义以及使用方式
  4. 程序员技术练级攻略(转载)
  5. python实例讲解wxpythonhyh123_Python实例讲解 -- wxpython 基本的控件 (按钮)
  6. Microsoft Dynamics CRM 数据库连接存储位置在哪里 是在注册表里
  7. Tomcat5.5.9+JSP经典配置实例
  8. SpringMVC json/xml自动转换
  9. 微信小程序 - 开发者账号申请流程
  10. 什么表示计算机的存储容量,计算机的存储容量是指它具有的什么
  11. Python写的我的世界源码
  12. 11.4王者荣耀服务器维护中,英雄战迹11号更新维护公告 删档最后一更
  13. Error response from daemon conflict unable to delete 3f37e5daf5bd (cannot be forced) - image is bein
  14. 安装darknet报libQt5Core.so.5: undefined reference
  15. Saas.为什么要搞Saas,会遇到哪些问题,看看5年Saas开发踩过的坑
  16. 非常值得收藏的书签栏,程序员学习与设计相关的网站(有附件下载)
  17. 基于 Nginx 的 HTTPS 性能优化
  18. uniapp安卓端禁止截屏允许截屏
  19. 注册jar包为windows服务
  20. C语言 酒店房间登记与计费管理系统

热门文章

  1. android中src和background区别
  2. Jsp+Ssh+Mysql实现的Java Web学生考勤管理
  3. 基于JAVA+SpringMVC+MYSQL的人事管理系统
  4. Codeforces 650 D. Zip-line
  5. poj 3252 Round Numbers(数学)
  6. js实现放大镜的效果
  7. css的几种垂直水平居中方法
  8. bootstrap学习笔记(5)
  9. 4-算法冒泡排序 插入排序
  10. 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)