• 指针的要点总纳


    一、1.地址和指针的概念(面试考点之一)

        如果在程序中定义了一个变量,在编译时就给这个变量分配内存单元。系统根据程序中定义的变量类型,分配一定的长度空间(这里是一个出题点)。如:一般微机使用的C系统为整型变量分配2个字节,对实型变量分配4个字节,对字符型变量分配1个字节,内存区的每一个字节有一个编号,这就是“地址”。(内存区每一个字节的编号,就是一个地址.) 内存单元的内容与内存单元的地址是两个概念。

        在C语言中,将地址形象化地称为“指针”(意思是通过它能找到以它为地址的内存单元,一个变量的地址称为该变量的“指针”)。如果有一个变量专门用来存放另一变量地址(即指针),则称它为“指针变量”

      2.变量的指针和指向变量的指针变量

        程序中用"*"符号表示“指向”。 

        a.定义一个指针变量:  基类型  *指针变量名; 用赋值语句使一个指针变量指向一个其它类型的变量。A.指针变量前面的“*”,表示该变量的类型为指针型变量。B.在定义指针变量时必须指定基类型。

        b.指针变量的引用:牢记指针变量中只能存放地址(指针),不要将一个整型量(或任何其它非地址类型的数据)赋给一个指针变量。A.&:取地址运算符。B.*:指针运算符(或称”间接访问“运算符)。例如:&a为变量a的地址,*p为指针变量p所指向的存储单元。

        c.指针变量作为函数参数:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。指针变量作函数参数也要遵循”值传递“的规则方式。调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值,函数的调用可以得到一个返回值(函数值),通过运用指针变量作参数,可以得到多个变化了的值,如果不运用指针变量是很难作到这一点。

      3.数组与指针(C语言的重中之重)

        a.指向数组元素的指针:定义一个指向数组元素的指针变量的方法,与指向变量的指针变量相同。C语言规定数组名代表数组中第一个元素的地址。

        b.通过指针引用数组元素:可以看出数组中的[]实际上是变址运算符,即将a[i]按a+i计算地址,然后找出此地址单元中的值。A.下标法,如:a[i]形式。B.指针法,如:*(a+i)或*(p+i)。其中a是数组名p是指向数组元素的指针变量,其初值p=a。在使用指针变量时,需要注意:(1).可以改变指针变量的值。(2).要注意指针变量的当前值。(3).在使用指针变量指向数组元素时,应切实保证指向数组中有效的元素。(4).注意指针变量的运算。在使用*p++形式的运算时,一定要十分小心,弄清楚先取p值还是先使p加1。

        c.用数组名作函数参数:

        d.多维数组与指针:

          A.多维数组元素的地址:

          B.指向多维数组元素的指针变量:

          C.用指向数组的指针做函数参数:

      4.多维数组与指针

        a.多维数组元素的地址

        b.指向多维数组元素的指针变量

        c.用指向数组的指针作函数参数

      5.字符串与指针

        a.字符串的表示形式

        b.字符串指针作函数参数

        c.对使用字符指针变量和字符数组的讨论

    吾屋无污,吴捂屋污,诬吾污屋,吾晤吴污,吾无物污,吴侮污吾,吾忤吴屋,悟吴诬吾,污屋吴污,吴侮吾污,吾勿武侮,吾唔吴误,诬侮污吾,吾屋悟忤.
  • 相关阅读:
    Vue路由机制
    谷歌浏览器打不开应用商店的解决方法
    Vue报错——Component template should contain exactly one root element. If you are using vif on multiple elements, use velseif to chain them instead.
    Vue.js学习之——安装
    Vue使用axios无法读取data的解决办法
    关于localstorage存储JSON对象的问题
    2013年整体计划
    个人喜欢的警语收集
    Linux防火墙的关闭和开启
    Flex修改title 转载
  • 原文地址:https://www.cnblogs.com/chenxiangxi/p/2185841.html
Copyright © 2020-2023  润新知