美文网首页
第五章指针与数组

第五章指针与数组

作者: Hy_Slin | 来源:发表于2018-02-11 14:05 被阅读0次

指针可以简单的想象成一个空间中分成连续的无数个小空间,然后每个空间都有一个连续的编号,这些小空间是存储单元,这个编号就是指针。
指针直接操作内存,可以更高效。
存储单元可以单独操纵,也可以连续成组的操纵。
通常情况下一个字节存放一个char类型的数据,两个相邻的字节存储单元可存储short类型的数据,4个相邻的字节存储单元可存储一个long类型的数据。
指针也是变量
指针是能够存放一个地址(编号)的存储单元。
指针存储的数据是另一个数据的地址。
简单来说存放另一个数据地址的变量,就是指针。
&运算符取一个对象的地址。应用于内存中的对象,包括变量鱼数组元素。不能作用于立即数(已经在编译时生成相应的代码)。(这里不作用于表达式、常量和固定的变量不是绝对的,常数在编译时也有一个地址,)
(这里我还没找到一个准确的说法,等之后再研究)
一元运算符“*”是间接寻址或间接引用,它不作用于它的表达式本身,而是作用于表达式的内容,用作指针时它将直接访问指针所指向的对象,

指针的声明
int ip;
这个声明语句说明表达式
ip指向的是int类型。
这里需要说明一下为啥需要声明类型,每种类型的存储长度都不一样,所以需要制定类型,如果制定的类型与实际不一样会多余或缺少正确的存储单元,比如char类型需要两个字节,int需要四个,那如果需要的数据是int类型的,而指针只操作了char类型的数据,那么就是个很大的错误(个人理解)
书上后面的函数声明同理,函数atof返回的值和*dp所指向的值都是double类型,而atof的参数是char类型的。这么理解也不太难。
书上之后就写了指针只能指向特定类型的数据类型。这里有个例外就是void空指针可以指向所有数据类型。但是不能间接引用自身(不知道这个间接引用自身是干什么的)
这一节最后重点提到了指针也是变量。指针作为变量存储的就是一个内存中的地址而已。

后面的getint函数有一个地方需要说一下。
判断完输入数的正负之后的for循环。
前面两个分号的号理解,第一个初始化,第二个判断是不是数,第三个是执行循环体后的操作。
这里执行循环体之后会调用getch()函数对变量c进行赋值,然后继续进行判断,每循环一次都会执行getch函数,而getch函数是获取缓冲区的一个值,所以就是每次执行循环体之后再缓冲区取一个值赋给变量c。
然后如果没到文件最后就终止了,那么说明文件末尾之前有不是数字的字符,那么ungetch就把这个字符拿回缓冲区,返回变量c的值(这个c是最后的数字。这里的目的是告诉主函数到什么地方因为什么才终止的。)并结束函数。

练习5.1比较简单,习题解答上也解释了修改的地方,就不写了。
练习5.2也没什么,之前都一样就有一点小数点之后又点问题。简单说一下就行。
前面的都一样,然后读取到小数点,继续读取后面的数字直到结束,这里power记录了小数点之后一共有几位数,1位是1,十位是10,百位是100。
总体的数都是一样计算的,只是口面将数去除以小数点之后的位数,这样就是小数了。
习题解答上也有写。

相关文章

  • C语言的数组指针与指针数组(One)

    一、数组指针与指针数组: 数组指针<——>本质是指针 指针数组<——>本质是数组上图: 二、数组指针: int ...

  • C语言21 指针数组与数组指针

    C语言21 指针数组与数组指针 指针数组的定义 指针数组的赋值 结构体指针数组 分析下面的代码 数组指针的定义 数...

  • 指针数组 & 数组指针 & 函数指针

    一、指针数组 & 数组指针 普通数组: 即数组名a与(*p)等价,都代表数组的首地址,此为数组指针 指针数组: ...

  • 指针笔记

    指针数组和数组指针 数组指针是指向数组的指针,指针的值与数组首元素地址相同,但范围是整个数组,所以数组指针和数组名...

  • C语言特性(指针数组和指向指针变量的指针)

    指针数组和指向指针变量的指针 指针数组与main()函数形参 声明指针数组与声明普通数组的语法类似,其语法格式如下...

  • 指针

    指针数组与数组指针 在这里数组指针是指向数组的指针,其本质为指针,指向的对象是数组。由于数组的形式多样所以数组指针...

  • iOS 指针详解

    指针数组与数组指针在这里数组指针是指向数组的指针,其本质为指针,指向的对象是数组。由于数组的形式多样所以数组指针的...

  • 2019-09-18C语言复杂表达式与指针高级应用

    1.指针数组与数组指针 1.1、字面意思来理解指针数组和数组指针 (1)指针数组的实质是一个数组,这个数组中存储的...

  • 数组知识点

    数组指针与指针数组: int(*p)[4]; --定义数组指针p,指向含4个元素的一维整型数组的指针变量(是指针)...

  • c基础—指针运算和函数指针

    二级指针 数组和数组指针 采用指针遍历数组循环赋值 遍历 赋值 指针与数组的几种写法 函数指针(回调) 题目:监听...

网友评论

      本文标题:第五章指针与数组

      本文链接:https://www.haomeiwen.com/subject/rdtyxxtx.html