深入理解C语言指针,让你不再迷路~

目录

1. 字符指针

2. 指针数组

2.1 指针数组的定义

2.2 指针数组的使用

3.数组指针

3.1数组指针的定义

3.1.1指针的类型 

3.1.2指针所指向的类型

3.2 &数组名VS数组名 

3.3 数组指针的使用

3.3.1 在一维数组中的使用

3.3.2 在二维数组中的使用

4. 数组参数、指针参数

4.1 一维数组传参

4.2 二维数组传参

4.3 一级指针传参

4.4 二级指针传参

5. 函数指针

5.1函数指针的定义与类型

5.2函数指针的使用 

6. 函数指针数组

6.1函数指针数组的定义

6.2函数指针数组的使用

7. 指向函数指针数组的指针

7.1指向函数指针数组指针的定义

7.2指向函数指针数组指针的使用

8. 回调函数

8.1回调函数的定义

 8.2回调函数的使用

qsort函数

qsort函数的使用

 qsort函数的模拟实现:


1. 字符指针

int* pa;   int型指针,指针指向的类型为int型

short* pa;   short型指针,指针指向的类型为short型

float* pa;   float型指针,指针指向的类型为float型

⭐ char型指针,指针指向的类型为字符类型

通常情况下我们会这样使用他

int main()
{
char ch = 'w';
char *pc = &ch;
*pc = 'w';
return 0;
}

还有一种使用方式

int main()
{
const char* pstr = "hello bit.";这里是把一个字符串放到pstr指针变量里了吗?
printf("%s\n", pstr);
return 0;
}

我们肯定首先想到的是将“hello bit.”这个字符串放到了pstr中,但实际情况是将字符串“hello bite.”的首元素地址放到了pstr中

上面代码的意思是把一个常量字符串的首字符 h 的地址存放到指针变量 pstr 中。
 

可以发现字符指针和数组非常相似

以 %s 来打印,从起始地址开始,遇到  \0  停止

但是也有不同的地方,下面分析这段代码

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值