C++ 【2】

1.指针基础
字符:'C' 一个字符占一个字节
在C++中  <<  这个为插入运算符       >>  这个为提取运算符

一个变量的地址称为该变量的指针;如果在程序中定义了一个变量或者数组,
那么,这个变量或数组的地址(指针);也就确定为一个常量。
(1)直接访问:按变量地址存取变量。

  cin>>i; //shiji上放到定义i单元的地址中

例如:

#include<iostream>
using namespace std;int main()
{int  x  = 6;cout<<"\n x在内存单元的地址为:"<< &x <<endl;  //直接访问cout<<"\n请输入 x 的值:"<< x <<endl;cin>>x;cout<<"x的值为:"<< x <<endl;return 0;
}

(2)间接访问:将变量的地址存放到另一个单元p中,
通过p取出变量的地址,再对变量操作。

例如:

#include<iostream>
using namespace std;int main()
{int* p = null;    //一级指针int x = 666;cout<<"\n x在内存单元的地址编号为:"<< &x <<endl;p = &x;cout<<"p的值为(x的内存单元地址编号): "<< p <<endl;cout<<"输出指针变量 p 指向地址编号的值:"<< *p <<endl;  //间接访问return 0;
}

变量的  指针  和  指向变量的 指针变量

变量的  指针 就是 变量的地址,当变量定义后,其指针(地址)是一 常量

如:可以定义一个变量 专门用来存放  另一变量的地址,这种变量我们称为“指针变量”
在编译时同样分配一定的存储单元,为赋初值时,该存储单元的值是随机的

指针变量定义的一般形式为:
类型标识符  *变量名

int *i_point;

指针变量赋初值的两种写法:

(1) int  i , *i_piont;i_point = &i;(2)  int i;int *i_point = &i;

注意:一个指针变量只能指向同一类型的变量;即:整型变量只能指向存放整型变量数据的地址,
而不能存放其它类型数据的地址。

* 的含义:
1.    在定义语句中只表示变量的类型是指针,没有任何计算意义
2.  * 在语句中表示"指向"。 &表示"取地址"


2.指针变量的引用:
    指针变量只能存放地址,不要将非地址数据赋值给指针变量。  

#include<iostream>
using namespace std;int main(int argc ,char *argv[])
{int x,y;                  //定义两个整型变量int*p1,*p2;                //定义两个整型指针p1 = &x ,p2 = &y;        //给指针变量 p1,p2 赋值*p1 = 10,*p2 = 20;        //给两个指针赋值cout<<a<<'\t'<<b<<endl;        //直接访问并输出          
// '\t'  的意思是:它是一个转义字符,相当于Tab键,可以使两个输出的数,保持一定的间距,便于阅读。cout<<*p1<<'\t'<<*p2<<endl;  //指针变量引用return 0;
}    


注意:绝不能对未赋值的 指针变量 作 “指向” 运算    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javax.net.ssl.SSLException: Connection reset

代码 https://www.cnblogs.com/colder/p/16612582.html httpClient HttpClients.custom().setDefaultRequestConfig(config).setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE).setConnectionManager(poolingConnManager).build();解决NoHttpResponseExcepti…

如何将内网ip映射到外网?快解析内网穿透

关于内网ip映射到外网的问题&#xff0c;就是网络地址转换&#xff0c;私网借公网。要实现这个&#xff0c;看起来说得不错&#xff0c;实际上是有前提条件的。要实现内网ip映射到外网&#xff0c;首先要有一个固定的公网IP&#xff0c;可以从运营商那里得到。当你得到公网IP后…

Flink——Flink检查点(checkpoint)、保存点(savepoint)的区别与联系

Flink checkpoint Checkpoint是Flink实现容错机制最核心的功能&#xff0c;能够根据配置周期性地基于Stream中各个Operator的状态来生成Snapshot&#xff0c;从而将这些状态数据定期持久化存储下来&#xff0c;从而将这些状态数据定期持久化存储下来&#xff0c;当Flink程序一…

FPGA设计时序约束一、主时钟与生成时钟

​目录 一、主时钟create_clock 1.1 定义 1.2 约束设置格式 1.3 Add this clock to the existing clock 1.4 示例 1.5 差分信号 二、生成时钟generate_clock 2.1 定义 2.2 格式 2.2.1 by clock frequency 2.2.2 by clock edges 2.2.3 示例 2.2.4 自动生成时钟 2.…

MongoDB-1入门介绍

NoSQL NoSQL(NoSQL Not Only SQL)&#xff0c;意即反SQL运动&#xff0c;指的是非关系型的数据库 优点 1、对数据库高并发读写。 2、对海量数据的高效率存储和访问。 3、对数据库的高可扩展性和高可用性。 弱点&#xff1a; 1、数据库事务一致性需求 2、数据库的写实时性…

Python 使用函数作为返回值

视频版教程 Python3零基础7天入门实战视频教程 Python还支持使用函数作为其他函数的返回值 def test(bol):if bol:return addelse:return subdef add(x, y):return x ydef sub(x, y):return x - yb1 test(True) print(b1, b1(1, 2)) b2 test(False) print(b2, b2(1, 2))运…

flink集群与资源@k8s源码分析-集群

0 介绍 本文是flink集群与资源@k8s源码分析系列的第二篇-集群 1 场景 下面详细分析各用例 2 启动k8s集群 k8s集群支持session和application模式,job模式将会被废弃,本文分析session模式集群 Configuration作为配置容器,几乎所有的构建需要从配置类获取配置项,这里不显示…

nginx 配置 ssl

1.1 Nginx如果未开启SSL模块&#xff0c;配置Https时提示错误 原因也很简单&#xff0c;nginx缺少http_ssl_module模块&#xff0c;编译安装的时候带上--with-http_ssl_module配置就行了&#xff0c;但是现在的情况是我的nginx已经安装过了&#xff0c;怎么添加模块&#xff0…

将docker镜像打成tar包

# 打包 docker save -o zookeeper.tar bitnami/zookeeper:3.9.0-debian-11-r11# 解压 docker load -i zookeeper.tar

day27IO(异常File综合案例)

1. 异常 1.1 异常概念 异常&#xff0c;就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是&#xff1a; 异常 &#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最…

事务碰上锁好似那油锅里进了火

目录 前言 场景 代码复现 提出疑问 该怎么解决呢 1.使用编程式事务 2.将事务独立出一个方法 前言 很多时候我们谈起事务都是如虎色变&#xff0c;一想起来都是脑袋懵懵的 事务的隔离级别及传播机制是什么Spring的事务底层实现原理了解吗哪几种情况下事务会失效 …

Web jQuery 事件与其他

jQuery 事件 代码下载 jQuery 单个事件注册 jQuery 提供了方便的事件注册机制&#xff0c;其优缺点如下&#xff1a; 优点: 操作简单&#xff0c;且不用担心事件覆盖等问题。缺点: 普通的事件注册不能做事件委托&#xff0c;且无法实现事件解绑&#xff0c;需要借助其他方法…

【探索C++】C++对C语言的扩展

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

JavaScript基础知识12——运算符:算数运算符,比较运算符

哈喽&#xff0c;大家好&#xff0c;我是雷工。 以下为JavaScript基础知识学习笔记。 一、算数运算符 1、算术运算符&#xff1a;即进行数学计算的符号。 2、有哪些算数运算符&#xff1a; &#xff1a;加法 -&#xff1a;减法 *&#xff1a;乘法 /:除法 %:取余&#xff08;…

系统架构设计师-数据库系统(3)

目录 一、数据控制 1、安全性 2、完整性 3、并发控制 4、故障恢复 二、数据库设计概述 1、数据库设计关注的问题 2、数据库性能优化 3、规范化与反规范化 一、数据控制 1、安全性 2、完整性 &#xff08;1&#xff09;实体完整性约束&#xff1a;规定基本关系的主属性不能取空…

Python开发利器之VS Code

Python官方提供了一个Python集成开发环境&#xff08;IDE&#xff09;&#xff1a; IDLE (Integrated Development and Learning Environment)。 它提供了一个图形用户界面&#xff0c;可以让开发者编写、调试和执行Python程序。IDLE包含Python解释器、代码编辑器、调试器和文件…

RK3568平台开发系列讲解(工具命令篇)ADB的安装

🚀返回专栏总目录 文章目录 一、ADB介绍二、Windows 下安装 adb 工具沉淀、分享、成长,让自己和他人都能有所收获!😄 一、ADB介绍 adb 全称 Android Debug Bridge,直译过来就是 Android 调试桥,它是一个通用的命令行工具。adb 做为 Android 设备与 PC 端连接的一个桥梁…

揭秘:Wasserstein GAN与梯度惩罚(WGAN-GP)

一、说明 什么是梯度惩罚&#xff1f;为什么它比渐变裁剪更好&#xff1f;如何实施梯度惩罚&#xff1f;在提起GAN对抗网络中&#xff0c;就不能避免Wasserstein距离的概念&#xff0c;本篇为系列读物&#xff0c;目的是揭示围绕Wasserstein-GAN建模的一些重要概念进行探讨。 图…

前端实现PDF预览:简单而高效的方法

前言 PDF是一种常用的文件格式&#xff0c;但在网页中直接预览PDF文件可能会带来一些挑战。本文将介绍一种简单而高效的前端方法&#xff0c;以实现PDF文件的预览。 使用iframe标签嵌入PDF文件 最简单的方法是使用iframe标签来嵌入PDF文件。代码如下所示&#xff1a; <i…

浅谈DBT的一些不足之处

DBT的好处是显而易见的&#xff0c;它支持连接多达41种数据库。而且不需要你写DDL语句&#xff0c;只要写select语句&#xff0c;DBT会自动帮你推断schema结构&#xff0c;将数据写入到数据库中&#xff1a; 但是使用了一段时间之后&#xff0c;发现DBT也存在着如下这些不足之处…