栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 指针知识点(2)const 数组指针 函数指针二级指针

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 指针知识点(2)const  数组指针 函数指针二级指针

1.指针中const用法

int const *p

const int *p

代表不能改变 指针指向的内容 ,但可以改变指针指向    //你可以换男朋友,但是不能花他的钱

此时const 均在 *p 左边

int *const p

可以改变指针指向的内容,但不能改变指针指向   //可以花男朋友的钱,但是不能换男朋友

此时const 在  * 右边

const  int  const *p

即不能改变指针的内容,也不能改变指针指向

2.指针数组和数组指针    

理解这两个概念,只需要看他们最后两个字,如指针数组就是一个数组,数组指针是指针。

int (*p) [ i ] 是数组指针

int *p[ i ] 是指针数组

区分他们很简单,在于是否有括号 () ,原因是 [ ] 的结合优先级高于 * ,如果没有 ( ) ,那么 p优先与 [ ] 结合为数组,所以为指针数组,反之有 ()时, * 优先与 p 结合为指针。

3.函数指针与指针函数

函数指针:就是指向函数的指针

函数指针的类别取决于函数的类别

void(*pfun1)() = &fun;

若为int 函数

下面则为一个函数指针的定义

int (*pfun1)(int, int) = &fun2;

#include 
void fun()
{
	printf("123n");
}
int fun1(int a, int b)
{
	return a + b;
}
int main()
{
	int(*pfun)(int, int);     // int *ptr
	pfun = fun1;    //  ptr = &a;
	pfun(1, 2);
}
4.二级指针

指针变量也是变量,是变量就有地址,那指针变量的地址存放在哪里? 这就是 二级指针 。

 

*ppa 通过对 ppa 中的地址进行解引用,这样找到的是 pa , *ppa 其实访问的就是 pa

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号