C语言中指针的详解(1)

前言

在讲指针之前我们要知道什么是指针
1、指针就是个变量,用来存放地址,地址唯一标识一块内存空间
2、指针的大小固定是4/8个字节(32位平台/64位平台)
3、指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限
4、指针的运算

1、字符指针

字符指针是指向字符的指针
在这里插入图片描述
下面这个代码是把字符串hehe首字符的地址放在pstr中
在这里插入图片描述

2、指针数组

指针数组是用来存放指针的数组
在这里插入图片描述

3、数组指针

(1)数组指针的定义
数组指针是能够指向数组的指针
(2)&数组名和数组名
在这里插入图片描述
从这张图可以看出
数组名表示数组首元素的地址
&数组名表示数组的地址,不是数组首元素的地址,+1跳过的是整个数组的大小,所以&arr+与&arr相差40
(3)数组指针的使用
在这里插入图片描述在这里插入图片描述

4、数组和指针的传参

(1)一维数组的传参
在这里插入图片描述
(2)二维数组的传参
在这里插入图片描述
(3)一级指针的传参
在这里插入图片描述
(4)二级指针的传参在这里插入图片描述

5、函数指针

函数指针是指向函数的指针
在这里插入图片描述
这两个地址都是test函数的地址
在这里插入图片描述

pfun1可以存放。pfun1先和*结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void
在这里插入图片描述在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值