一. 一级指针

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;

ZhangShuo1999
1 声望0 粉丝

引用和评论

0 条评论