引用参数和指针
*:
在定义里:
int *p ;*指针指示符,表示定义一个指针变量;
char *p; 指针变量可以指向任何数据类型
表达式里:运算符
两个操作数:2*3 乘法
一个操作符: *p 取值运算符
&
表达式中: 运算符
一个操作数:&a 取地址
两个操作符: 2&3 按位与
奇偶判断 a&1
c里面只有指针
c++:定义里 int &a=b; &为引用变量,即对变量起别名
对b起别名
引用参数:形参改,实参也改
编写一个算法,对长度为n的数组a下标为i插入一个数e;
输入:a,n,i,e 输出 n
n为长度,插入一个数n+1;
void insert(int a[],int &n,int i ,int e)
全局区 全局变量和静态变量 |
代码区 |
堆区 自己决定何时分配·动态分配 c语言 动态分配:malloc(大小字节数) 返回值为:地址 可以赋值给指针变量 (强制类型转换) malloc(大小字节数) eg: int * malloc (4) int *为强制类型转换 malloc(sizeof(int)) |
栈区 局部变量 程序员放的 具有后进先出的作用(main ->f -->main) |
例题1
//堆区分配 动态分配
typedef struct
{
char name [10];
int age;
double high;
}person;
定义一个结构体数组,数组长度为100;
person *p = (person *) malloc(100*sizeof(person)); //动态分配数组
p[5].name p
//动态释放
free(p);
//栈区分配 静态分配
void f()
{
int a[10]; //静态分配
}
todolist:
复习结构体定义
判断题
引用变量和指针
下周学时间复杂度 做pta里的题