字符串、指针、引用、数组基础

1.字符串:
字符是由单引号所括住的单个字母、数字或符号。若将单引号改为双引号,该字符就会变成字符串。它们之间主要的差别是:双引号的字符串“A”会比单引号的字符串’A’在字符串的最后补上一个结束符’\0’(Null字符,ASCLL值为0)。
两种方式创建字符串:
1)字符串数组:
char str1[ ] = “This is a test ! “;
2)声明String类
#include<string>
string str2 = “This is a test ! “;
2.指针
1)取地址符:&
&变量名称;  //获得变量所在的内存地址
2)指针变量:
用来存储内存地址的变量。
数据类型 *指针变量 = &变量名称;
3)指针数组:
一维指针数组的声明格式:
数据类型 *数组名[元素名称];
过去以二维的字符数组来存储字符串数组:
char name[4][10] = {“Justinian”, “Momo”, “Becky”, “Bush” };
现在可以改为声明一维字符串指针数组://将指针指向各个字符串的起始地址,如name[0]指向字符串“Justinian”
char *name[4] = {“Justinian”, “Momo”, “Becky”, “Bush” };
3.动态分配
内存在运行阶段分配,若指向动态分配内存空间的指针,在未释放该地址空间前又指向了别的内存空间,则原指向的内存空间将无法被释放,从而造成内存泄露。
1)动态分配变量:
声明格式:
数据类型 *指针变量 = new 数据类型(初值);
如:
int *ptr = new int;
delete ptr;
2)动态分配数组:
int *ptr = new int[ nop ];    //动态分配数组为nop个元素
delete []ptr;
4.引用
int j = 20;
int &refj = j ;   //声明引用需使用取地址符号&,并且同时设置初值
注意:当refj成为j的别名后,就不能再将refj这个标识符重复声明为其他变量或对象的别名,并且所用作用于refj身上的运算处理都会同时作用到j身上。
5.指针引用
将引用的初值指向某个指针变量的地址。
如:
int Arr[3] = {1,2,3};
int* PtrArr = Arr;   //声明指针变量PtrArr,并指向数组Arr的起始地址
int* &refArr = PtrArr;     //声明指针引用refArr,来指向PtrArr
for(int i=0;i<3;i++)cout<<*( refArr+i )<<“ “;
cout<<endl;
#include <iostream>
#include <cstdlib>
usingnamespacestd;
intmain(intargc, constchar* argv[]) {// insert code here...charName[] = "John";char*p_N = "Marry";  //定义字符串指针 *p_N 并设置其初值cout<<"Name[]的地址:"<<&Name<<" 字符串的内容:"<<Name<<endl;//由于传递字符指针给cout会直接显示出字符串,故使用强制类型转换(int *)来显示指针变量*p_N所指向的地址cout<<"p_N的地址:"<<(int*)p_N<<" 字符串的内容:"<<p_N<<endl;return0;
}

 

6.获取数组长度
int arr[] = {1,5,9,10,9,2};
length_arr = sizeof(arr)/sizeof(arr[0]);
len_arr = end(arr)-begin(arr);

转载于:https://www.cnblogs.com/Bella2017/p/9540340.html

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

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

相关文章

suse安装php,SUSE下安装LAMP

安装Apache可以看到编译安装Apache出错&#xff0c;rpm包安装gcc (首先要安装GCC)makemake install修改apache端口cd /home/sxit/apache2vi conf/httpd.confListen 8000启动 apache/home/root/apache2/bin/apachectl start(stop restart)http://localhost:8000安装一下PHP开发…

自己动手写事件总线(EventBus)

2019独角兽企业重金招聘Python工程师标准>>> 本文由云社区发表 事件总线核心逻辑的实现。 <!--more--> EventBus的作用 Android中存在各种通信场景&#xff0c;如Activity之间的跳转&#xff0c;Activity与Fragment以及其他组件之间的交互&#xff0c;以及在某…

viz::viz3d报错_我可以在Excel中获得该Viz吗?

viz::viz3d报错Have you ever found yourself in the following situation?您是否遇到以下情况&#xff1f; Your team has been preparing and working tireless hours to create and showcase the end product — an interactive visual dashboard. It’s a culmination of…

php 数组合并字符,PHP将字符串或数组合并到一个数组内方法

本文主要和大家分享PHP将字符串或数组合并到一个数组内方法&#xff0c;有两种方法&#xff0c;希望希望能帮助到大家。一般写法&#xff1a;<?php /*** add a string or an array to another array** param array|string $val* param array $array*/function add_val_to_a…

xcode 4 最低的要求是 10.6.6的版本,如果你是 10.6.3的版本,又不想升级的话。可以考虑通过修改版本号的方法进行安装

xcode 4 最低的要求是 10.6.6的版本&#xff0c;如果你是 10.6.3的版本&#xff0c;又不想升级的话。可以考虑通过修改版本号的方法进行安装。 一、打开控制台&#xff1b; 二、使用root用户&#xff1b; 命令&#xff1a;sudo -s 之后输入密码即可 三、编辑 /System/Library/C…

android 调试技巧

1.查看当前堆栈 Call tree new Exception(“print trace”).printStackTrace(); &#xff08;在logcat中打印当前函数调用关系&#xff09; 2.MethodTracing 性能分析与优&#xff08; 函数占用CPU时间&#xff0c; 调用次数&#xff0c; 函数调用关系&#xff09; a) 在程序…

Xml序列化

xml序列化 实现思路 通过程序生成一个xml文件来备份手机短信. 先获取手机短信的内容 —>通过xml备份.StringBuffer 代码如下public void click(View view) {StringBuffer sb new StringBuffer();sb.append("<?xml version\"1.0\" encoding\"UTF-8\…

java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户

在安装DB2 之后&#xff0c;就可以在 DB2 环境中创建自己的数据库。首先考虑数据库应该使用哪个实例。实例(instance) 提供一个由数据库管理配置(DBM CFG)文件控制的逻辑层&#xff0c;可以在这里将多个数据库分组在一起。DBM CFG 文件包含一组 DBM CFG 参数&#xff0c;可以使…

iphone视频教程

公开课介绍 本课程共28集 翻译至第15集 网易正在翻译16-28集 敬请关注 返回公开课首页 一键分享&#xff1a;  网易微博开心网豆瓣网新浪微博搜狐微博腾讯微博邮件 讲师介绍 名称&#xff1a;Alan Cannistraro 课程介绍 如果你对iPhone Development有兴趣&#xff0c;以下是入…

在Python中有效使用JSON的4个技巧

Python has two data types that, together, form the perfect tool for working with JSON: dictionaries and lists. Lets explore how to:Python有两种数据类型&#xff0c;它们一起构成了使用JSON的理想工具&#xff1a; 字典和列表 。 让我们探索如何&#xff1a; load a…

Vlan中Trunk接口配置

Vlan中Trunk接口配置 参考文献&#xff1a;HCNA网络技术实验指南 模拟器&#xff1a;eNSP 实验环境&#xff1a; 实验目的&#xff1a;掌握Trunk端口配置 掌握Trunk端口允许所有Vlan配置方法 掌握Trunk端口允许特定Vlan配置方法 实验拓扑&#xff1a; 实验IP地址 &#xff1a;…

django中的admin组件

Admin简介&#xff1a; Admin:是django的后台 管理的wed版本 我们现在models.py文件里面建几张表&#xff1a; class Author(models.Model):nid models.AutoField(primary_keyTrue)namemodels.CharField( max_length32)agemodels.IntegerField()# 与AuthorDetail建立一对一的关…

虚拟主机创建虚拟lan_创建虚拟背景应用

虚拟主机创建虚拟lanThis is the Part 2 of the MediaPipe Series I am writing.这是我正在编写的MediaPipe系列的第2部分。 Previously, we saw how to get started with MediaPipe and use it with your own tflite model. If you haven’t read it yet, check it out here.…

.net程序员安全注意代码及服务器配置

概述 本人.net架构师&#xff0c;软件行业为金融资讯以及股票交易类的软件产品设计开发。由于长时间被黑客攻击以及骚扰。从事高量客户访问的服务器解决架构设计以及程序员编写指导工作。特此总结一些.net程序员在代码编写安全以及服务器设置安全常用到的知识。希望能给对大家…

文件的读写及其相关

将软件布置在第三方电脑上会出现无法提前指定绝对路径的情况&#xff0c;这回影响到后续的文件读写&#xff1b;json文件是数据交换的一种基本方法&#xff0c;为了减少重复造轮子&#xff0c;经行标准化代码。关于路径&#xff1a; import os workspaceos.getcwd() pathos.pat…

接口测试框架2

现在市面上做接口测试的工具很多&#xff0c;比如Postman&#xff0c;soapUI, JMeter, Python unittest等等&#xff0c;各种不同的测试工具拥有不同的特色。但市面上的接口测试工具都存在一个问题就是无法完全吻合的去适用没一个项目&#xff0c;比如数据的处理&#xff0c;加…

python 传不定量参数_Python中的定量金融

python 传不定量参数The first quantitative class for vanilla finance and quantitative finance majors alike has to do with the time value of money. Essentially, it’s a semester-long course driving notions like $100 today is worth more than $100 a year from …

axis为amchart左右轴的参数

<axis>left</axis> <!-- [left] (left/ right) indicates which y axis should be used --> <title>流通股</title> <!-- [] (graph title) --> <…

雷军宣布红米 Redmi 品牌独立,这对小米意味着什么?

雷锋网消息&#xff0c;1 月 3 日&#xff0c;小米公司宣布&#xff0c;将在 1 月 10 日召开全新独立品牌红米 Redmi 发布会。从小米公布的海报来看&#xff0c;Redmi 品牌标识出现的倒影中&#xff0c;有 4800 的字样&#xff0c;这很容易让人联想起此前小米总裁林斌所宣布的 …

JAVA的rotate怎么用,java如何利用rotate旋转图片_如何在Java中旋转图形

I have drawn some Graphics in a JPanel, like circles, rectangles, etc.But I want to draw some Graphics rotated a specific degree amount, like a rotated ellipse. What should I do?解决方案If you are using plain Graphics, cast to Graphics2D first:Graphics2D …