zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++ 指针

C++ 指针
2023-09-11 14:16:46 时间

1、指针
指针的基本概念
指针的作用:可以通过指针间接访问内存。
内存编号是从0开始记录,一般用十六进制数字表示;
可以利用指针变量保证地址;
2、指针变量的定义和使用
指针变量定义语法:数值类型 * 变量名;
示例:

#include <iostream>
using namespace std;

int main()
{
    //1、定义指针
    int a = 10;
    //指针定义的语法:数据类型 * 指针变量名
    int* p;
    // 2、使用指针
    p = &a;
    cout << "a的地址为:" << &a << endl;
    cout << "指针p为:" << p << endl;

    system("pause");
}

3、指针所占内存空间
提问:指针也是种数据类型,那么这种数据类型占用多少内存空间?
示例:

#include <iostream>
using namespace std;

int main()
{
    //指针所占内存空间
    int a = 10;

    int* p = &a;

    cout << "sizeof(int *)=" << sizeof(int*) << endl;

    system("pause");
}

4、空指针和野指针
空指针:指针变量指向内存中编号为0的空间。
用途:初始化指针变量。
注意:空指针指向的内存是不可以逆向的。
示例:

#include <iostream>
using namespace std;

int main()
{
    //空指针
    int* p = NULL;

    //空指针是不可以进行访问的
    //0~255之间的内存编号是系统占用的,因此不可以访问
    *p = 100;
    system("pause");
    return 0;
}

野指针:指针变量指向非法占用内存空间。

#include <iostream>
using namespace std;
int main()
{
    //野指针
    int* p = (int*)0x1100;
    cout << *p << endl;
    system("pause");

    return 0;
}