IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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语言指针

C语言中的指针-1

指针的定义

指针是一种数据类型,使用它可以定义指针变量,这种变量存储的是整数,代表了内存的编号,每个整数是一个字节,使用指针变量可以访问对应的内存,具体访问几个字节,由指针变量的类型决定。

指针的使用场合

首先我们要注意的是指针变量理论上可以访问内存的任何位置,但实际上我们有权限访问的内存不多,乱用指针很容易产生段错误。

1.函数之间共享局部变量:

由于全局变量浪费内存,还可能造成命名冲突,因此不适合大规模使用。

而函数传递默认是值传递,无法共享,所以指针是共享局部变量的最佳选择。

2.提高函数的传参效率

函数传递默认是值传递也就是拷贝内存,当变量字节数较多时,传递变量的时间会变长,而使用指针是传递变量的地址只需要4或者8字节即可,大大提高了效率。

3.配合堆内存使用

堆内存无法取名即不能与标识符建立映射关系,因此必须与指针配合使用

如何使用指针
定义指针变量: 类型 指针变量名;*

? 1.由于指针变量的用法和普通变量不同,为了避免和普通变量混淆,指针变量一般以p结尾

? 2.指针变量不能连续定义

int* p1,p2;		//p1是指针变量,p2则是int 类型变量
int* p1,*p2;	//p1,p2都是指针

? 3.指针变量与普通变量一样默认值是随机的,为了安全一定要初始化,如果不知道赋什么值可以赋值为NULL

? 4.指针的类型决定了访问内存的字节数

指针变量的赋值

1.用变量的地址赋值:p = &num ;

*2.用堆内存的地址赋值:p = malloc(sizeof(p));

*指针变量的解引用:指针变量

通过指针变量中存储的内存编号去访问内存,具体访问多少字节由指针变量的类型决定。

该过程可能产生段错误

指针的运算:

指针变量中存储的是整数,理论上整型数据能使用的运算符,指针变量都能使用,但只有一下运算才有意义:

指针+n <=> 指针+(n*字节数)

指针-n <=> 指针 -(n*字节数)

指针 - 指针 <=> (指针-指针)/字节数 只有相同类型的指针才可能相减。

指针与const
const int* p;//保护目标不被p修改
int const *p;//同上
int* const p;//保护指针变量p不被修改
const int* const p;//既保护p也保护*p
int const *const p;//同上
void指针

1.以1字节为单位移动

2.不能解引用

3.可以与任何类型的指针自动类型转换(c语言)

4.一般用作函数的参数、返回值

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:31:54  更:2021-07-28 07:36:03 
 
开发: 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年4日历 -2024/4/29 12:45:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码