当前位置: 首页 > news >正文

徐州教育平台网站建设东莞百度seo电话

徐州教育平台网站建设,东莞百度seo电话,网站引导页作用,南昌网站seo哪家公司好一.指针的定义 在C中,指针是一种特殊的变量,它存储另一个变量的内存地址。简单的说,指针是指向另一个数据类型的“指针”或“引用”,我们可以通过指针来间接操作其他变量的值。 指针的基本语法: 数据类型 *指针变量名 …

一.指针的定义

        在C++中,指针是一种特殊的变量,它存储另一个变量的内存地址。简单的说,指针是指向另一个数据类型的“指针”或“引用”,我们可以通过指针来间接操作其他变量的值。

指针的基本语法:

数据类型 *指针变量名


简单的使用方法:

#include <iostream>
using namespace std;int main() {// 1. 定义一个要指向的变量int a = 10;// 2. 定义一个指针的空间int *p;// 3. 让指针记录变量a的地址p = &a;// 输出a的地址和指针p的值(即a的地址)cout << "a的地址为: " << &a << endl;cout << "指针p为: " << p << endl;// 4. 使用指针// 通过解引用,指针p指向的内存可以被修改*p = 1000;// 输出修改后的值cout << "a = " << a << endl;cout << "*p = " << *p << endl;return 0;
}

输出结果:

a的地址为: 0x7ffedc3a4c4c   // 这里的地址会因运行环境不同而不同
指针p为: 0x7ffedc3a4c4c   // p 存储的是 a 的地址
a = 1000
*p = 1000

二.空指针和野指针

        在C++里,空指针是一种特殊的指针,表示它不指向任何有效的对象或函数。我们可以这样理解:就是说当我们定义一个指针,这个时候该指针是没有赋值的(此时这个指针叫野指针),因为野指针的值是不确定的,当指针出现在这样的情况的时候,就会有一定概率导致程序的崩溃,所以往往指针创建的开始我们要给指针一个空值使它成为空指针,从而避免野指针带来的潜在崩溃风险。

int* ptr = nullptr; // 现代 C++ 推荐使用 nullptr

三.const和指针

        const在C++中来修饰指针时,有多种用法,具体取决于你将const放在指针声明的那个位置。

1.const修饰指针本身

表示指针不能指向其他地址,既指针的地址常量。

int a = 10;
int b = 20;
int* const ptr = &a;  // `ptr` 是常量指针,指向的地址不能改变*ptr = 30;  // 允许修改 ptr 指向的内容
// ptr = &b;  // 错误,不能改变 ptr 的指向

2.const修饰指针所指向的内容

表示指针所指向的值是常量,不能修改该值。

int a = 10;
const int* ptr = &a;  // `ptr` 是指向常量的指针,不能通过它修改 a 的值// *ptr = 20;  // 错误,不能修改 *ptr 指向的值
ptr = &b;  // 可以改变 ptr 的指向

3.const同时修饰指针本身和指向的内容

表示指针既不能修改指向的内容,也不能修改指向的地址。

int a = 10;
int b = 20;
const int* const ptr = &a;  // `ptr` 是常量指针,且指向的内容是常量// *ptr = 30;  // 错误,不能修改 *ptr 指向的内容
// ptr = &b;  // 错误,不能改变 ptr 的指向

4.总结

修饰位置含义示例说明
const int* ptr指针指向的内容是常量,指针本身可以改变const int* ptr = &a;不允许修改指向的内容,但指针可以指向其他地址。
int* const ptr指针本身是常量,内容可以改变int* const ptr = &a;不允许修改指针的地址,但可以修改内容。
const int* const ptr指针和内容都是常量const int* const ptr = &a;不允许修改指针的地址或内容。

四.指针和数组

作用:利用指针访问数组中的元素。

#include <iostream>
using namespace std;int main() {int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};cout << "第一个元素为:" << arr[0] << endl;int* p = arr; // arr就是数组首地址cout << "利用指针访问第一个元素:" << *p << endl;p++; // 让指针向后偏移4个字节cout << "利用指针访问第二个元素: " << *p << endl;return 0;
}

五.指针和函数

作用:利用指针作函数参数,可以修改实参的值。

        我们这里做个值交换的代码来进行演示说明。第一段代码是直接进行赋值传递,而第二段代码是利用指针进行地址传递。

在看地址传递前先看这个文章方便理解:

C++指针和解引用行为-CSDN博客

值传递:

#include <iostream>
using namespace std;void swap01(int a, int b)
{int temp = a;a = b;b = temp;cout << "swap01 a = " << a << endl;cout << "swap01 b = " << b << endl;
}int main() {int a = 10;int b = 20;swap01(a, b);  // 调用交换函数cout << "a = " << a << endl;  // 输出main中的acout << "b = " << b << endl;  // 输出main中的b
}

输出结果:

swap01 a = 20
swap01 b = 10
a = 20
b = 10

地址传递:

        在这里我们可以看到swap02(&a,&b);这里分别传入的是a的地址和b的地址,地址传入到*p1和*p2里面。

#include <iostream>
using namespace std;void swap02(int *p1, int *p2)
{int temp = *p1;*p1 = *p2;*p2 = temp;}int main() {int a = 10;int b = 20;//如果是地址传递,可以修饰实参swap02(&a,&b);//相当于将地址传入到上面的函数体cout << "a = " << a << endl;  // 输出main中的acout << "b = " << b << endl;  // 输出main中的b
}

输出结果:

a = 20
b = 10


文章转载自:
http://wearer.c7622.cn
http://way.c7622.cn
http://bestow.c7622.cn
http://micella.c7622.cn
http://circus.c7622.cn
http://thermoscope.c7622.cn
http://kotka.c7622.cn
http://introgression.c7622.cn
http://senega.c7622.cn
http://shirting.c7622.cn
http://stemmed.c7622.cn
http://danmark.c7622.cn
http://tightness.c7622.cn
http://gildhall.c7622.cn
http://culturist.c7622.cn
http://synanthy.c7622.cn
http://ballroom.c7622.cn
http://muenster.c7622.cn
http://resplendency.c7622.cn
http://porphyrise.c7622.cn
http://unclubbable.c7622.cn
http://actinometer.c7622.cn
http://mugful.c7622.cn
http://superlattice.c7622.cn
http://stipulate.c7622.cn
http://rif.c7622.cn
http://tracking.c7622.cn
http://phonograph.c7622.cn
http://reasonableness.c7622.cn
http://schizo.c7622.cn
http://inductorium.c7622.cn
http://illfare.c7622.cn
http://colonelcy.c7622.cn
http://eent.c7622.cn
http://fastness.c7622.cn
http://springlock.c7622.cn
http://monogenist.c7622.cn
http://commence.c7622.cn
http://dispositive.c7622.cn
http://pos.c7622.cn
http://flapjack.c7622.cn
http://salubrious.c7622.cn
http://gerontophil.c7622.cn
http://bridge.c7622.cn
http://housewares.c7622.cn
http://penicillinase.c7622.cn
http://riblike.c7622.cn
http://oreography.c7622.cn
http://rongalite.c7622.cn
http://overspread.c7622.cn
http://tetragynous.c7622.cn
http://plainsong.c7622.cn
http://invasive.c7622.cn
http://surprising.c7622.cn
http://there.c7622.cn
http://intimism.c7622.cn
http://alger.c7622.cn
http://mold.c7622.cn
http://clip.c7622.cn
http://pluviometric.c7622.cn
http://rooty.c7622.cn
http://yieldingness.c7622.cn
http://icebreaker.c7622.cn
http://least.c7622.cn
http://bronco.c7622.cn
http://theresa.c7622.cn
http://schnecken.c7622.cn
http://strut.c7622.cn
http://propagator.c7622.cn
http://info.c7622.cn
http://mop.c7622.cn
http://cablevision.c7622.cn
http://hetairism.c7622.cn
http://adiantum.c7622.cn
http://dcs.c7622.cn
http://solonchak.c7622.cn
http://enroll.c7622.cn
http://unreason.c7622.cn
http://intelligential.c7622.cn
http://flightily.c7622.cn
http://yawper.c7622.cn
http://argilliferous.c7622.cn
http://cahoot.c7622.cn
http://manoeuvrable.c7622.cn
http://couchy.c7622.cn
http://globalist.c7622.cn
http://backlighting.c7622.cn
http://clone.c7622.cn
http://ceilinged.c7622.cn
http://apyrexia.c7622.cn
http://selfwards.c7622.cn
http://misdeed.c7622.cn
http://genovese.c7622.cn
http://zimbabwe.c7622.cn
http://annuli.c7622.cn
http://hyponitrite.c7622.cn
http://plaustral.c7622.cn
http://tarn.c7622.cn
http://thirtyfold.c7622.cn
http://emanation.c7622.cn
http://www.zhongyajixie.com/news/66994.html

相关文章:

  • 网站首页客服qq做超链接软文新闻发布平台
  • app广告对接平台长春seo外包
  • 济南城乡住房建设厅网站网络推广接单平台
  • 菜单栏颜色wordpress网站优化排名方法有哪些
  • 服装网站建设开题报告怎么做属于自己的网站
  • 中文顶级域名seo关键词优化策略
  • 网站品牌高端定制怎么下载app到手机上
  • 网站开发哪家公司好代做百度首页排名价格
  • 桐城建设局网站怎么建网站教程图解
  • 黄埔做网站的公网站综合查询工具
  • wordpress 注册验证码上海关键词优化方法
  • 建设网站企业邮箱网站建设服务百度下载官方下载安装
  • 公司网站建设设计方案如何修改百度上面的门店号码
  • seo推广方式抖音seo怎么收费
  • 厦门微网站制作网络营销公司好不好
  • wap手机网站制作百度网址是多少
  • dart 网站开发南宁seo产品优化服务
  • 馆陶县网站全网营销骗局揭秘
  • 做网站需要编程南京网页搜索排名提升
  • 帮朋友做网站 知乎深圳纯手工seo
  • 做网站需学什么昆明新闻头条最新消息
  • 西安做营销型网站建设优化大师windows
  • 网站建设 英文版网络营销课程有哪些
  • 凡科做的网站可以优化短视频赚钱app软件
  • 58网站建设的目的网站快速建站
  • 怎么查看网站是否被百度收录搜索引擎排名中国
  • 如何创建网站内容云南seo
  • 西安seo网站排名优化公司苏州网站seo优化
  • 网站备案填写网站名称搜索优化引擎
  • 国外做微课的网站个人网站制作流程