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

前言

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

1、字符指针

字符指针是指向字符的指针
C语言中指针的详解(1)_第1张图片
下面这个代码是把字符串hehe首字符的地址放在pstr中
C语言中指针的详解(1)_第2张图片

2、指针数组

指针数组是用来存放指针的数组
C语言中指针的详解(1)_第3张图片

3、数组指针

(1)数组指针的定义
数组指针是能够指向数组的指针
(2)&数组名和数组名
C语言中指针的详解(1)_第4张图片
从这张图可以看出
数组名表示数组首元素的地址
&数组名表示数组的地址,不是数组首元素的地址,+1跳过的是整个数组的大小,所以&arr+与&arr相差40
(3)数组指针的使用
C语言中指针的详解(1)_第5张图片C语言中指针的详解(1)_第6张图片

4、数组和指针的传参

(1)一维数组的传参
C语言中指针的详解(1)_第7张图片
(2)二维数组的传参
C语言中指针的详解(1)_第8张图片
(3)一级指针的传参
C语言中指针的详解(1)_第9张图片
(4)二级指针的传参C语言中指针的详解(1)_第10张图片

5、函数指针

函数指针是指向函数的指针
C语言中指针的详解(1)_第11张图片
这两个地址都是test函数的地址
C语言中指针的详解(1)_第12张图片

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

你可能感兴趣的:(c语言,开发语言)