const和一二级指针

Posted ZhangShuo1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const和一二级指针相关的知识,希望对你有一定的参考价值。

一. 一级指针

const int *p; //修饰*p
int const *p; //修饰*p
int *const p; //修饰p
const int *const p; //第一个修饰*p,第二个修饰p

A://正确,const int* = int*
int a = 10 ;
const int* p= &a;

B://正确 const int* = const int*
const int a=10;
const int* p=&a;

C://正确 int* = int*
int a = 10;
int *const p =&a;

D://错误 int* = const int*
int a = 10;
const int *p=&a;
int *q = p;

二. 二级指针

const int **p; //修饰**p
int const **p; //修饰**p
int  *const *p; //修饰*p
int **const p; //修饰p
const int *const*p; //第一个修饰**p,第二个修饰*p

A. // 错误,const int** = int**
int a = 10;
int *p = &a;
const int **q=&p

B.// 正确,int *const* = int**
int a = 10;
int *p=&a;
int *const*q = &p;

C.// 正确,int **= int**
int a = 10;
int *p=&a;
int **const q = &p;

D.// 错误,int** = int*const*
int a = 10;
int *const p=&a;
int **q = &p;

E.// 错误,int*const* = const int**
int a = 10;
const int *p=&a;
int *const*q = &p;

以上是关于const和一二级指针的主要内容,如果未能解决你的问题,请参考以下文章

使用二级指针修改带const的只读变量

为啥在访问二级指针时出现分段错误错误? C语言

20160210.CCPP体系详解(0020天)

c语言中如何通过二级指针来操作二维数组

20160210.CCPP体系详解(0020天)

2015042120150422指针数组