1. 指针 int a=10; int *p; p=&a; *p=a;//p=&a;未添加之前 *p指针未初始化 printf("%d\n",*p); 同类型声明: int a, * p,** q; 时间: 2024-12-17 18:22:59
1. 函数(补充,了解) 函数形参有默认值,必须自右向左依次有默认值 例:int foo(int a,int b=1,int c=2){ return a+b+c;}//合法 int foo(int a=1,int b,int c=2){ return a+b+c;}//不合法 内联函数:声明时使用inline关键字(并不一定所有的编译器都支持内联函数). 内联函数:在编译之前,编译器会用函数体替换函数调用语句,执行时,省去了“寻找函数实现”的时间.是一种用空间换时间的操作 普通函数:程序运
1. 内存分配: C++里面使用new delete 注意: #include <iostream> #include"stdlib.h" using namespace std; int main(int argc, char *argv[]) { int* p=new int(5); //申请了一个数组大小的堆空间,数组中的元素为int类型,元素个数为5. int* q=new int[5]; //申请了一个数组大小的堆空间,数组中的元素为int类型,元素个数为5.
1. 二维数组: 例:int a[5][6] :5行6列 在物理内存中存储时,以一位数组的形式存放. 注:初始化时行数可省,列不能空,数组名不可赋值 2. continue:结束本次循环 即直接返回至判断条件 while: 使用条件内的数字初始化数组元素. break:跳出整个循环 3. 函数:用来实现指定功能的代码模块. 函数返回值的个数最多有一个 函数声明:return-type function-name(argument declarations); 返回值类型 函数名(参数列表) 函
1. while循环:当型循环 先执行判断条件,循环体可能一次都不会执行 do-while循环:直到型循环 先执行循环体后判断条件,循环体至少会执行一次. 2. for循环: for (expr1; expr2; expr3) statement //循环体 expr1:初始化循环控制变量(可选) expr2:循环判断条件(可省)若省略判断条件永真,有可能导致死循环 expr3:修改循环控制变量(可省) 在循环结构中,必须有修改循环控制变量的操作. break:退出整个循环 练习:9*9乘法表
1. 输出运算符重载: 1 #include <iostream> 2 #include"cstring" 3 4 using namespace std; 5 6 class Complex 7 { 8 public: 9 Complex(int r=0,int i=0):_r(r),_i(i){} 10 void print(); 11 friend ostream& operator<<(ostream& out,const Comp
1. 指针: 指针变量的值被修改,指针变量的指向也会被修改(指针变量存储了谁的地址,指针变量就指向谁). 2. 指针变量 特点: 可以用来存储地址 值可以变化(指向可以更改) “指向”特定类型的数据 多个指针变量可同时指向一个变量 int* p=(int )malloc(4); // (堆空间) 释放 free(p) 野指针: int *p; //p指向不明确的指针. 空指针: 值为null的指针 //不能对空指针进行解地址 3. 内存5大分区:(根据处理机制不同) 栈区:由系统自动分配空间
1. 作用域: 静态全局变量与普通全局变量:前者的作用域缩小,生命周期相同. 静态局部变量与普通局部变量:前者的生命周期延长,作用域相同. 2. 函数指针: int (*func_ptr)(int,float*);//声明函数指针. int exchange(int,float*); exchange(1,p); func_ptr(1,p); 3. 数组指针.指针数组 指针数组:char* s[10]; int* a[10];(数组,数组中的元素都是指针类型). 数组指针: int* p;//整
1. 结构体 成员如果是char* name;能否使用gets.scanf.strcpy取决于name是否“指向”一块可以盛放字符串的空间,成员是数组,数组名不可以做左值. COMPUTER* p; p=&c; p->brandó(*p).brand .成员访问运算符 //结构体变量名.成员:c.brand; ->指向运算符:指针变量名->成员; //访问指针所“指向”的结构体变量的成员 2. 宏定义 基本格式:#define 宏的名字 宏替换内容 3. 预处理命令 #if 0
1. Point(Point p,int r):p(_p){} 对象p p.print();//代码复用调用Point中的打印函数 2. 对象成员变量,没有显示使用初始化列表做初始化,编译器依旧会自动调用成员变量所属类中的构造函数(默认构造)对对象成员变量进行初始化. 3. const: const修饰函数时,只能修饰类的成员函数. const成员函数体内 不能修改成员变量的值 const成员函数体内只能调用const成员函数 const对象只能调用const成员函数 4. 析构函数: