10.7课堂内容
指针与变量
int main(){
int a = 10; //开一个房间 存放数值 10
//类似于钥匙
int* k = &a; // 开辟一个指针变量k 它指向 变量a的地址,指针的声明用 类型* = &变量;
int b = 20 ;
int *p = &b;
*k = 5; //修改 *指针 含义是 获取或者修改 俗称解引用 ,“解”就是把该地址对应的东西解开,解出来,就像打开一个包裹一样,那就是该变量的值了,所以称为“解引用”
cout << a << endl ;
return 0;
}
指针与数组
1、数组的名字其实就是地址,或者也可以称为指针
int a[] = {1,3,2};
int main(){
int *p = a;
(*p)++; // 修改*p指向的值 +1
p++; //下一位置
cout << *p << endl ;
return 0;
}
数组 与STL容器
int a[3] = {1,3,2}; //静态数组
vector<int> v; //表示v的动态数组 、或者叫向量
int main(){
vector<int> u(5, -1) ;//开辟一个5个大小的数组,所有都初始化为-1
vector<int> w(a, a+3) ; //初始化,用一个数组来进行初始化
v.push_back(4); //增加一个元素
v.push_back(5);
v.push_back(6);
v.push_back(7);
v.push_back(8);
v.push_back(9);
v.pop_back();//去掉最后的元素
//遍历的方式
for(auto i : v){ //遍历输出数组内容 用auto范围
cout << i<< " " ;
}
cout << endl ;
//索引的方式
for(int i= 0; i<v.size(); i++){
cout << v[i] << " ";
}
cout << v.size() ; //获取数组大小
return 0;
}
set表示集合
map表示字典、关系映射
set<int> st;
map<int,int> mp ;
int main(){
mp.insert( { 1, 2} ) ;
mp.insert( { 3, 3} ) ;
mp.insert( { 2, 2} ) ;
mp.insert( { 2, 4} ) ;
for(auto i : mp){
cout << i.first << " " << i.second << endl ;
}
return 0;
}
课堂练习
- 题目 2351.数组存数
- 题目 2667.数字翻转
- 题目 719.明明的随机数
- 题目 2675.重复的学号
- 题目 2676.订单结算
STL初步 练习
- 题目 2353.约瑟夫问题
- 题目 2668.论坛帖子
- 题目 2678.等差对
- 题目 2674.数字查询
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com