c++中的引用和数组

c++中的引用

本质是给一个变量给予一个别名,别名被使用时也会改变原来的变量。

这样在函数调用的时候就不用传址了

在c++中&可以是引用。也可以是取址

复制代码
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
void jia1(int*a){//取址
	(*a)++;
}
void jia2(int&a){
	a++;
}
int main(){
	int b=0,c=0;
	jia1(&b);//传址
	jia2(c);//传名
	cout<<b<<" "<<c; 
	return 0; 
}

c++数组

如一个班级有40个同学,每个同学有一个数学成绩,如果定义40个变量会很复杂,这时就引入数组。一维数组的定义,type name 范围

int shu40,就可以储存40个整型数字。

数组的访问使用下标,从0开始所以要比范围小1;数组的地址是首元素的地址。

范围for(类型 变量名:数组名)

语句,编译器需要c++11以上的编译器。

如果dvc++不支持,可以添加编译器支持。

能支持的都可以添加。

其实是把数组的值一个个赋值给n;类型要匹配。

缺点,一定会输出所以的数组内容,没有使用的内容也会引用;

虽然n应用数组的内容,但改变n,数组内容不变;

auto关键字

auto自动识别变量的类型。

memset

memset函数定义void* memset(void*ptr,int value,size_t num);

返回值是无类型的指针,第一个参数是数组,第二个是设置的值,num是设置多少个。

是以字节为单位来设置。

要包含头文件<cstring>;

效果改变字符的值,会相同因为字符是一个字节

如果是整数数组,一个位置4个字节,要4个更改。

memcpy拷贝数组。

memcpy(目标地址,要拷贝的地址,数量)

相关推荐
言乐63 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame
WWJA王文举10 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha131410 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
ShineWinsu11 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
码匠许师傅11 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
qq_4480111612 小时前
C语言中的动态内存分配
c语言·开发语言·php
旖旎夜光12 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒12 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter12 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
hy.z_77713 小时前
【C++】13. 继承
c++