指针知识点总结

指针和指针变量:

在间接访问中通过另一变量中存储的地址能找到所需的变量,可以认为该地址指向目的变量,c语言形象的把地址称为指针。变量的指针就是变量的地址,指针类型就是地址类型,而存放指针的另一变量就是指针类型的变量(简称指针变量)。

        地址含有存储位置和该位置存储的是哪种类型的数据两个概念。

指针运算符:

        取地址符 &:   1.先计算出占用内存空间的大小

                                 2.将标签a替换成地址

       取值运算符 * :

                               1.先读取p里的内容,找到内存空间的首地址

                               2.连续读取这个指针类型大小的字节单元

数组和指针:

1.指针运算

        (1)当指针变量指向数组元素时,指针变量加(减)一个整数m,表示指针向前(后)移动m个元素(不是m个字节)。指针变量每增减1,地址字节值的增减值d等于基类型字节数。

        (2)两个同类型指针可以相减,得到一个整数,等于两者之间相差的元素个数,即两者的地址字节值之差除以基类型字节数。

        (3)两个同类型指针可以进行比较运算,但是类型不同不能进行比较运算,而且运算使用它们的地址值进行比较。

        (4)C语言设置了一个指针常量"NULL",成为空指针。空指针不指向任何存储单元,但空指针可以赋给任何指针类型的变量。

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

访问数组元素的三种方法:

(1)下标法,

(2)通过数组名计算数组元素地址,找出元素的值

(3)用指针变量指向数组元素

字符指针、字符数组、和字符串

1.用字符指针访问字符数组

2.字符串处理函数的实现

3.地址越界问题

指针数组:

(1)定义:基类型名  *数组名[数组长度]

(2)用二级指针变量访问指针数组

多维数组和指向分数组的指针

指针和函数:

        1.函数指针:指针变量除了可以指向各种类型的变量,还可以指向一个函数。

        2.指针函数:函数的返回值类型既可以是整型、实型、字符型、也可以是指针类型,返回值为指针类型的函数称为指针类型的函数,简称指针函数。

        3.指向函数的指针变量作为函数参数

指针类型转换:如果我们需要把一个指针p的类型和所指向的类型type *type,那么语法格式为:(type*)p;这样强制类型转换的结果是一个新指针,该新指针的类型为type *,他指向的类型为type,它指向的地址就是原指针指向的地址。而原来的指针p的属性都未被修改。

定义含义
int i定义整型变量i
int *pp为指向整型数据的指针变量
int  a[n]

定义整型数组a,它有n个元素

int *p[n]定义指针数组p,它由n个指向整型变量的指针元素组成
int (*p)[n]p为指向含n个元素的一维数组的指针变量
int f()f为代回整形函数值的函数
int *p()p为带回一个指针的函数,该指针指向整形数据
int (*p)()p为指向函数的指针,该指针返回一个整型值
int **pp为一个指针变量,它指向一个指向整形数据的指针变量
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值