間のconst int型* int型* constの差

(これは長い時間が書き込みを始めた後、私は私の口のブログを言って申し訳ないです)
定数を指し示すポインタ定数ポインタ

int const* p  //指向常量的指针
const int* p  //指向常量的指针
int *const p  //常量指针

三つ以上の言語があまり一般的に使用され、Cですが、C ++を学んだとき、それは混乱し、第1のconst int型* P int型のconst * pと等価である、pの値を変更することはできません意味しますしかし、P(アドレス)を変更することができます。
(1)一定のポインタINT * CONST P

#include <stdio.h>
#include <stdlib.h>
int main()
{
int p1=10;
int* const p=&p1;
printf("%d ",*p);  //此时输出*p的值是10
*p=20;
printf("%d ",p1);  //此时输出p1是20,因为通过*p修改了p1的值
system("pause");
return 0;
}

つまり、ポインタのポイントの位置を変更することはできないが、ポインタの位置の値を変更することができます。
CONST INTポインティング(2)一定のポインタ* P

#include <stdio.h>
#include <stdlib.h>
int main()
{
int p1=10;
int p2=20;
const int* p=&p1;
printf("%d ",*p);  //输出10
/* *p=40;
printf("%d ",p1) */ //不能修改指针指向的地址来改变指针指向的值,输出会报错,因此注释掉
p=&p2;
p2=30;
printf("%d ",*p);  //输出30
system("pause");
return 0;
}

値を変更することにより、アドレスにこのポインタポイントを変更しない
(3)一定のCONSTポインタ
のconstポインタを一定にし、実質的にポインタの値を変更することはできません指しているポインタの位置を変更することができ

今日のシェアは終わりました

公開された33元の記事 ウォン称賛13 ビュー1070

おすすめ

転載: blog.csdn.net/Vicky_Cr/article/details/102327173