| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++指针基础知识总结 -> 正文阅读 |
|
[C++知识库]C++指针基础知识总结 |
1. 指针的定义和使用方式int a = 10; int *p = &a; *p = 100; // * 为解引用操作 2. 指针所占的内存空间32位系统为四个字节(无论指向的数据类型是什么), 64为系统为8个字节。 3. 空指针int* p = NULL; int* p = nullptr; 4. 野指针int* p = (int *)0x0100 //直接指向特定的地址,会报错。 5. const 修饰指针(1) const int *p? 常量指针(const在前,*在后),指针的指向可以发生变化,但指向的内容不可变。 Int a = 10; Int b = 20; Int *p = &a; *p = 20; // 错误的操作,指向的内容不可以修改 p = &b; //正确 (2) int * const p? 指针常量(*在前,const在后),指针指向的内容可以变化,但指向的位置不可变化。 Int * const p2 = &a; *p2 = 100 //正确 p2 = &b //错误,指针的指向不可以修改 (3) const int * const p? 指针指向和内容都不能改变。 const int * const p = &a; *p3 = 100; //错误 p3 = &b; //错误 简记:const在谁的前面,谁不能改变。 6. 指针和数组数组的名称就是数组的首地址,所以可以使用指针访问数组。 int arr[10] = {1,2,3,4,5,6,7,8,9} int* p = arr; //不需要取值符号&,因为数组名字就是地址。 cout << *p << endl; //输出第一个元素 p++; // 让指针偏移一个单位,整形为4个字节 cout << *p << endl; //输出第二个元素 /*遍历数组*/ int *p2 = arr; for(int i=0;i<10; i++) { ???????? cout << *p2 <<endl; } 指针和数组名都表示地址,但可以修改指针的值,而数组名是常量不可修改。 p++; //指针,允许 arr++; // 数组名,不允许 sizeof(arr)将返回整个数组所占用的字节数,而sizeof(p)返回指针所占的字节数(4个字节)。 使用new创建动态结构 int* p = new int [size] // 创建动态数组,运行时为数组分配空间 delete [] p;? //释放空间 cout输出的不同 ?? ?char x[] = "123456"; 7. 指针和函数在函数体内修改实参的数值。 void swap(int* p1, int* p2) { Int temp = *p1; *p1 = *p2; *p2 = temp; } int a = 10; int b = 20; swap(a, b); // 地址传递可以修改实参,值传递不可以(值传递是在别的内存中重新创建变量进行计算)。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 1:15:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |