C Primer Plus 第十章学习总结……2015.4.30
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相关推荐
- Linux_《Linux命令行与shell脚本编程大全》第十章学习总结
时间:2017年08月24日星期四 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...
- C++Primer第5版学习笔记(三)
C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容 因为第五章的内容比较少,因此和第四章的笔记内容合并. 第四章是和表达式有关的知识, ...
- C++Primer第5版学习笔记(一)
C++Primer第5版学习笔记(一) 第一.二章的重难点内容 这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...
- 用计算机和手算标准差不一致,统计基础知识与统计实务学习指导(2015版).doc
统计基础知识与统计实务学习指导(2015版) 统计基础知识与统计实务学习指导(2015版) 第一章 绪论 一.单项选择题 1.在实际应用中,统计的涵义是指( ).A.统计理论与统计实践 B.统计设计. ...
- C++ primer第五版学习记录:第二章变量和基本类型
C++ primer第五版学习记录:第二章变量和基本类型 断断续续把第二章看完用了大概两周时间,发扬一下之前默写的传统,顺便让自己梳理一下该章节的具体框架及结构.可能会有理解错误的地方,欢迎大家批评指 ...
- CSAPP学习导航2015
CSAPP学习导航2015 为什么要学这个 课程前后置 前置 后置 课程资料 课程视频 课程组成 实验,lab*7 学完后 学习打卡 总结 为什么要学这个 深入浅出的为我们搭建计算机学习体系,为以后更 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)
分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(7月30日-8月5日)
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(7月30日-8月5日) 本周Silverlight学习资源更新 Silverlight 之Control and Use ...
- DoNet学习-WebForm视频教程(30集)
DoNet学习-WebForm视频教程(30集) http://down.51cto.com/zt/6122 DoNet学习-WebForm视频教程(30集) http://www.itjiaoche ...
- 学习python数据分析的30个练手数据+4个数据集网站
前几天发了一个博文:懂点excel作图, 怎么让pyechart作的图更具"职场范"呢?丨pyechart工作作图模板, 一不小心上了热榜, 感谢小伙伴们的支持, 以后会多总结发更 ...
最新文章
- 笔记-项目质量管理-精简
- docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
- 全自动洗衣机单片机c语言程序,全自动洗衣机单片机程序
- gm21模型python_python使用GM11
- 剑指offer之java缓存总结,从单机缓存到分布式缓存架构
- RedHat停止维护CentOS!CentOS 创建者发起新项目,刚上线空白项目Star数已破两千
- HTML5的革新:结构之美
- 【玖哥乱弹】程序员如何成为别人的男朋友
- 深度学习英语-迭代法(01)故事法,一个新的尝试
- 嵌入式软件测试环境搭建,基于DOORS的嵌入式软件测试环境需求管理
- linux文件空洞与稀疏文件,Linux文件空洞与稀疏文件
- bp神经网络,多输入多输出,3层网络matlab程序
- 首批 | 腾讯云完成国内首个云原生安全成熟度评估
- wordpress 服务器_如何将WordPress从本地服务器移动到实时站点(2种方法)
- Android接入支付宝开发
- 【基础】java操作word,自动更新目录/域
- Autojs在线云更新教程
- VM启动centos出现Assuming drive cache: write through.../run/initramfs/rdsosreport.txt类似错误解决方案
- Elastic认证特训营 难点解读01——best_fields, most_fields, cross_fields 拆解认知
- 使用vspd虚拟com,打开失败
热门文章
- 用linux搭建微信公众,搭建微信公众号后台——收发文本消息
- MathType公式编辑器试用期到了怎么办?
- python爬虫总结,看这篇就够了
- “安全删除硬件”图标 隐藏
- 两台电脑共享一套键盘鼠标的神器
- window VNC Viewer设置屏幕分配率
- 轻量级配置的登录管理器选择---Silm[zt]
- 汽车行业如何玩转“Web3.0”?智己汽车“原石谷”开启区块链应用新场景!
- Let's talk OOP Again
- win10系统盘清理彻底的方法