输出方式
1.直接输出——采用直接寻址,输出内存块中的操作数,变量值
变量名代替地址,容易记忆。
int main() {
int a = 10;//a = 0x99fd
cout << a << endl;//10,输出时系统采用直接寻址,输出a地址中存储的操作数
return 0;
}
2.取地址,&a——输出地址
int main() {
int a = 10;
cout << &a << endl;//&a=0x97005ff64c
return 0;
}
3.间接寻址,*p=一次间址
int main() {
int a = 10;
int *p =&a;
cout << &a << endl;//&a=0x97005ff64c=操作数地址
cout << p << endl;//p=0x97005ff64c=操作数地址
cout << *p <<endl;//10,一次间接寻址
return 0;//
}
指针-常量
1.const 修饰,常量指针(const修饰*p)
指针指向的值不可以修改,指针可以修改
int main() {
int b = 10;
const int *p = &b;//const(常量) int *p (指针)
b = 20;
*p = 30;//报错,const修饰*p。故*p不可以被修改。但是可以直接通过变量b去修改
cout << p << endl;
cout << b << endl;
}
2.const修饰常量——指针常量(const修饰p)
指针指向不可以修改,指针指向的值可以修改
int main() {
//const修饰p,指针不可以改,指针指向的值可以更改
int * const p = &a; //*(指针) const(常量)
p = &b; //错误,const修饰p,故p不可以被赋值
*p = 100; //正确
}
标签:const,常量,int,修饰,main,指针
From: https://blog.csdn.net/dabingbigice/article/details/140475160