刷leetcode准备
先刷hot 100 按难度刷 再刷面试题
先思考 看答案 再看别人题解
准备按c++去复习:
c++数组的定义:
int a[3]={1,2,3,4}
第i个元素地址 &a[0]+i*sizeof(int)
数组作为参数传递给函数
数组其实就是指针,所以可以直接改里面的值
eg:
int * operatearr(int a[],unsigned int n){
int i;
for(i=0;i<n;i++){
a[i]=i+1;
}
return a;
}
int main(){
int *p;
p=new int[10];
unsigned int n=10;
int *m;
m=operatearr(p,n);
for(int i=0;i<10;i++){
cout<<m[i]<<endl;}
}
c++ new操作符:
int *p;p=new int;
int *p;p=new int(10);
int *p;p=new int[10];//10个数的数组
p++
优先级
https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7/4752611?fr=aladdin#4
后缀++优先于
但是
后置 先用p
C++二维数组
指针指向二维数组:
http://c.biancheng.net/view/2022.html
查询数据类型
typeinfo库
typeid(x).name()
字符串类型string
https://www.cnblogs.com/X-Do-Better/p/8628492.html