c++小白入门学习笔记(一)

一、
&:取地址。 &(变量名):获取变量的地址。
*:取值。 *(变量名):将变量作为地址,到相应的地址取值。
*(&(变量名))=变量本身。
指针变量是用来存储地址的变量。(指针就是一个地址
32位操作系统下指针所占内存空间为4字节,不管什么数据类型。
指针声明方式:指针类型 指针变量名

使用指针:指针前加
,代表解引用,找到指针指向的内存中的数据。
例如:int *p;
char *name;
初始化:
int x;
int *p=&x;
空指针:指针变量指向内存中编号为0的空间。用来初始化指针变量。并且空指针指向的内存是不可
以访问的。0~255之间的内存编号是系统占用的,因此不可以访问。
野指针:指针变量指向非法的内存空间。如:int *p=(int *)0x1110;(访问野指针报错:无访问权限)

指针变量不能直接赋值。
scanf()函数后面的参数应该传入的是指针。
指针和函数:
(地址传递可以修改到实参的值,而值传递不能修改实参的值。)Swap交换两个变量,用指针。
const 修饰指针:const修饰指针,const修饰常量、const既修饰指针(常量指针),又修饰常量。(第三种情况),指针的指向和指针指向的值都不能修改。
常量指针:指针的指向可以修改,但是指针指向的值不可修改。
指针常量相反。
指针的作用:引用类型,传递地址,减少内存消耗。
指针和数组:利用指针来访问数组,int *p=arr;数组名代表数组的首地址。
二、
cin从键盘缓冲中取字符的时候会过滤掉空格、制表和回车这些特殊字符不会传给ch;
而getchar从缓冲区中读所有数据,包括回车等。
而字符串输入中,gets不接收回车。而scanf读取字符串以空格作为结束标记。在字符串输入中cin相当于sacnf也是以特殊字符结束作为标记。
getline也不接收回车符。
三、排序问题
qsort对一片连续的区域进行排序,如数组。
void qsort(基地址,元素个数,元素大小,比较函数);
int compare(当前比较元素1地址,当前比较元素2 地址);
void sort(基地址,基地址+n); 默认非递减
若需要非递增,则需加上
bool cmp(double a,double b)
return a>b;
然后使用 sort(arr,arr+n,cmp);
四、c++重载
一、函数重载

作用:函数名可以相同,提高复用性。

函数重载满足的条件:

同一作用域下(比如全局作用域)

函数名称相同

函数参数类型不同或者个数不同或者顺序不同。

注意:函数的返回值不可以作为函数重载的条件。

二、函数重载的注意事项 (原则上不能出现二义性)

1、引用作为重载的条件

​ void func(const int &a)
{
cout<<“OK”<<endl;
}

2、函数重载碰到默认参数
五、变量存在的意义:方便我们管理内存。 数据 类型指出合适的内存空间。
变量创建的语法:数据类型 类型名=变量初始值;
常量:用于记录程序中不可更改的数据。
c++规定在创建一个变量或者常量时,必须指出相应的数据类型否则无法给变量分配内存。
六、标识符不可以是关键字
标识符是由字母、数字、下划线构成。
标识符第一个字符只能是字母或下划线。
标识符区分大小写。
七、函数的分文件编写。
(1)、创建.h后缀名的头文件。
(2)、创建.cpp后缀名的源文件
(3)、在头文件中写函数的声明。
(4)、在源文件中写函数的定义。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值