C Primer Plus 

                  第五版

第十章  数组和指针

数组:当数值数目少于数组元素数目时,多余的数组元素被初始化为0;

初始化数组时可以省略括号中数字  int ar[ ]={1,2,3}

C不支持把数组作为一个整体赋值,也不支持用花括号括起来的列表形式进行赋值(初始化时除外)

数组索引不能超过数组边界

变长数组:在一个函数中定义:int =4;int ar[  n ];合法

指针

指针:1、指针数值就是它所指向的对象的地址

2、指针前运用运算符*可以得到指针指向的对象的数值

3、对指针加1等价于对指针的值加上它指向的对象的字节大小,要是加一个整数就是指向的对象的字节乘这个整数后的和

4、可以用指针标识数组的每个元素并得到每个元素的数值

int sum(int ar[],int n)无论任何情况,int*ar 都表示ar是指向int的指针,形式int ar[]也可以表示,但只能是在是声明形式参量时可以使用

int sum(int *ar,int n)    int sum(int * ,int  )    int sum(int  ar[],int n)    int sum(int  ar[],int  )   四种表示等价。

指针指向数值最后一个元素的下一个元素是合法的。

一元运算符*和++具有相同的优先级,但他们的结合顺序是从右到左

ar[i]==*(ar+i)等价

指针可以进行如下操作

1、赋值:可以把一个地址赋给指针通常为数组名或&

2、求值:运算符*可以取出指针指向的数值

3、取指针地址:指针变量同其他变量一样具有地址和数值

4、将一个整数加给指针,是指针的值加上指针指向的数据类型的字节数与整数相乘积的和

5、指针间可以求差值,一般是数值,表示两个元素间的距离

指针最基的功能在于同函数交换信息

int sum(const int ar[ ]);用const可以对数组进行保护

将常量或非常量数据的地址赋给指针是合法的

把 非const 指针赋给const 指针的变量是非法的

int (* pt)[4]一个指针指向4个int;

int sum(int ar[][],int n)非法声明

int sum(int ar[][4],int n)  合法声明

变长数组:在函数内部,或作为形式参量方可声明,不可进行初始化

int sum(int rows ,int cols,int ar[rows][cols])合法 int sum(int ,int ,int ar[*][*])合法

int sum(int ar[rows][cols],int rows ,int cols)非法

变长数组允许动态分配内存。

C Primer Plus 第十章学习总结……2015.4.30相关推荐

  1. Linux_《Linux命令行与shell脚本编程大全》第十章学习总结

    时间:2017年08月24日星期四 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...

  2. C++Primer第5版学习笔记(三)

    C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容       因为第五章的内容比较少,因此和第四章的笔记内容合并.       第四章是和表达式有关的知识, ...

  3. C++Primer第5版学习笔记(一)

    C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...

  4. 用计算机和手算标准差不一致,统计基础知识与统计实务学习指导(2015版).doc

    统计基础知识与统计实务学习指导(2015版) 统计基础知识与统计实务学习指导(2015版) 第一章 绪论 一.单项选择题 1.在实际应用中,统计的涵义是指( ).A.统计理论与统计实践 B.统计设计. ...

  5. C++ primer第五版学习记录:第二章变量和基本类型

    C++ primer第五版学习记录:第二章变量和基本类型 断断续续把第二章看完用了大概两周时间,发扬一下之前默写的传统,顺便让自己梳理一下该章节的具体框架及结构.可能会有理解错误的地方,欢迎大家批评指 ...

  6. CSAPP学习导航2015

    CSAPP学习导航2015 为什么要学这个 课程前后置 前置 后置 课程资料 课程视频 课程组成 实验,lab*7 学完后 学习打卡 总结 为什么要学这个 深入浅出的为我们搭建计算机学习体系,为以后更 ...

  7. 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...

  8. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(7月30日-8月5日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(7月30日-8月5日) 本周Silverlight学习资源更新 Silverlight 之Control and Use ...

  9. DoNet学习-WebForm视频教程(30集)

    DoNet学习-WebForm视频教程(30集) http://down.51cto.com/zt/6122 DoNet学习-WebForm视频教程(30集) http://www.itjiaoche ...

  10. 学习python数据分析的30个练手数据+4个数据集网站

    前几天发了一个博文:懂点excel作图, 怎么让pyechart作的图更具"职场范"呢?丨pyechart工作作图模板, 一不小心上了热榜, 感谢小伙伴们的支持, 以后会多总结发更 ...

最新文章

  1. 笔记-项目质量管理-精简
  2. docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
  3. 全自动洗衣机单片机c语言程序,全自动洗衣机单片机程序
  4. gm21模型python_python使用GM11
  5. 剑指offer之java缓存总结,从单机缓存到分布式缓存架构
  6. RedHat停止维护CentOS!CentOS 创建者发起新项目,刚上线空白项目Star数已破两千
  7. HTML5的革新:结构之美
  8. 【玖哥乱弹】程序员如何成为别人的男朋友
  9. 深度学习英语-迭代法(01)故事法,一个新的尝试
  10. 嵌入式软件测试环境搭建,基于DOORS的嵌入式软件测试环境需求管理
  11. linux文件空洞与稀疏文件,Linux文件空洞与稀疏文件
  12. bp神经网络,多输入多输出,3层网络matlab程序
  13. 首批 | 腾讯云完成国内首个云原生安全成熟度评估
  14. wordpress 服务器_如何将WordPress从本地服务器移动到实时站点(2种方法)
  15. Android接入支付宝开发
  16. 【基础】java操作word,自动更新目录/域
  17. Autojs在线云更新教程
  18. VM启动centos出现Assuming drive cache: write through.../run/initramfs/rdsosreport.txt类似错误解决方案
  19. Elastic认证特训营 难点解读01——best_fields, most_fields, cross_fields 拆解认知
  20. 使用vspd虚拟com,打开失败

热门文章

  1. 用linux搭建微信公众,搭建微信公众号后台——收发文本消息
  2. MathType公式编辑器试用期到了怎么办?
  3. python爬虫总结,看这篇就够了
  4. “安全删除硬件”图标 隐藏
  5. 两台电脑共享一套键盘鼠标的神器
  6. window VNC Viewer设置屏幕分配率
  7. 轻量级配置的登录管理器选择---Silm[zt]
  8. 汽车行业如何玩转“Web3.0”?智己汽车“原石谷”开启区块链应用新场景!
  9. Let's talk OOP Again
  10. win10系统盘清理彻底的方法