C++学习笔记

一、C++基础语法

生成随机数

#include<ctime>
//添加随机种子,利用当前系统时间生成随机数
	srand((unsigned int)time(NULL));
//生成随机数
	int number = rand() % p;//生成0到p-1随机数

goto 使用

int main() {
    cout << 1 << "**********" << endl;
    goto FLAG;//设置标签
    cout << 2 << "**********" << endl;
    cout << 3 << "**********" << endl;

FLAG://跳转标签
    cout << 4 << "**********" << endl;
    cout << 5 << "**********" << endl;

    cin.get();
    return 0;
}

一维数组名用途(sizeof)

#include<iostream>
using namespace std;
int main() {
	int arr[10];
	cout << "整个数组占得内存大小" << sizeof(arr) <<endl;
	cout << "一个元素占得内存大小" << sizeof(arr[0]) << endl;
	cout << "共有多少个元素" << sizeof(arr) / sizeof(arr[0]) << endl;
	cout << "第一个元素的地址" << (int) & arr[0] << endl;

	system("pause");
	return 0;
}

在这里插入图片描述
二维数组名用途(sizeof)

#include<iostream>
using namespace std;
int main() {
	//定义二行三列数组
	int arr[2][3] =
	{
		{2,4,1},
		{5,3,1}
	};

	cout << "二维数组占用内存空间:" << sizeof(arr) << endl;
	cout << "二维数组第一行占用内存空间" << sizeof(arr[0]) << endl;
	cout << "二维数组第一个元素占用内存为" << sizeof(arr[0][0]) << endl;
	cout << "二维数组的行数:" << sizeof(arr) / sizeof(arr[0]) << endl;
	cout << "二维数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;
	cout << "二维数组的首地址:" << (int)arr << endl;
	cout << "二维数组第一行首地址为:" << (int)arr[0] << endl;
	cout << "二维数组第一个数的首地址" << (int)&arr[0][0] << endl;

	cin.get();
	return 0;
}

在这里插入图片描述
函数分文件编写
1.创建头文件.h
2.创建源文件
3.头文件中写声明
4.源文件中写定义

//swap.h头文件
#include<iostream>
using namespace std;
void swap(int a, int b);
//swap.cpp源文件
#include "swap.h"
void swap(int a, int b) {
	int temp = a;
	a = b;
	b = temp;
	cout << "a=" << a << " b=" << b << endl;
}
//引用文件
#include<iostream>
#include "swap.h"//引用
using namespace std;
int main() {
	int a = 10;
	int b = 20;
	swap(a, b);
	cin.get();
	return 0;
}

指针

#include<iostream>
using namespace std;
int main() {
	//1.定义指针
	int a = 10;
	//指针定义语法:数据类型*指针变量名;
	int* p;
	//让指针记录变量a的地址
	p = &a;
	cout << "a的地址为:" << &a << endl;
	cout << "指针p为:" << p << endl;
	//指针前加*代表解引用,找到指针指向的内存中的数据
	*p = 1000;
	cout << "a=" << a << endl;
	cout << "*p" << *p << endl;
	//32位系统中指针占4个字节,64位系统中指针占8个字节
	cout <<"32位系统指针占几个字节:" << sizeof(int*) << endl;


	//2. 空指针:指针变量指向内存编号为零的空间
	//用途:初始化指针变量(空指针指向的内存是不可以访问的  0~255是系统占用的)
	//int* p = NULL;
	//*p = 100   报错,空指针不准访问

	//3.野指针:指针变量指向非法的内存空间
	//int* p = (int*)0x1100;
	//cout << *p << endl; //报错,野指针不准访问
	return 0;
}

const修饰指针

//1.cost修饰指针-常量指针 指针的指向可以修改,但是指针指向的值不可以改
		int a = 10;
		int b = 20;
		const int* p = &a;  //常量指针
		/*
			*p = 20; //错误,指针指向的值不能修改
			p = &b;  //正确,指针指向不可修改
		*/

	//2.cost修饰常量-指针常量 指针的指向不可以改,指针指向的值可以改
		int* cost p = *a;//指针常量
		/*
			*p = 20;//正确,指针指向的值可以改
			p = &b; //错误,指针指向不可以改
		*/

	//3.const即修饰指针,又修饰常量  指针的指向和指针的值都不能修改
		const int* const p = &a;
		/*
			*p = 20; //错误,指针指向值不能修改
			p = &b;//错误,指针指向不能修改
		*/

	//记忆技巧:观察 const 和 * 的位置   (const - 常量,恒定的,不变的)
	//const int* p;  const后面是*  *操作就非法    
	//int* const p;  const后面是p  p操作就非法 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值