指针相关
程序员文章站
2024-03-07 20:14:39
...
//指针即是地址,在32位操作系统中占用4字节,在64位操作系统中占用8字节;
//在指针变量之前加 * 代表解引用,可以通过解引用的方式:
//a、读出指针变量所指向的存储单元中的数据,
//b、向指针变量所指向的存储单元中写入数据;
//空指针可以用于指针变量的初始化,但内存中0 ~ 255的存储单元为系统占用,不能被访问
//(不能对空指针和野指针解引用);
#include<iostream>
using namespace std;
int main()
{
int *p = NULL;
*p = 100; //解引用;
cout << *p << endl;
system("pause");
return 0;
}//系统会报错;
//const修饰指针的三种情况:
//1、const修饰指针 -- 常量指针;
// 如:int a = 10, b = 10;
// const int *p = &a; p称为常量指针(即 p指向了一个const int,所以其指向的值不能被修改),
// 特点:指针的指向可以修改,但指针指向的值不能修改,即 p = &b正确,但 *p = 20错误;
//
//2、const修饰常量 -- 指针常量;
// 如:int a = 10, b = 10;
// int * const p = &a; p称为指针常量(即 p为一个常量,所以其指向不能被修改),
// 特点:指针指向的值可以修改,但指针的指向不能修改,即 *p = 20正确,但 p = &b错误;
//
//3、const既修饰指针,又修饰常量;
// 如:int a = 10, b = 10;
// const int * const p = &a;
// 特点:此时 p的指向与其指向的值均不能被修改;
下一篇: 对pandas的一些认识