前沿
c++是一个重要的工具,涉及到性能问题的都会使用到c++,遗憾的是自己对c++相关的东西不太了解,希望借助这波学习能弄通它。
c++指针
首先弄懂两个符号的意思,&、*。
&
每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址
#include <iostream>
using namespace std;
int main(){
int var1;
char var2[10];
cout << "地址1:" << &var1 << endl;
cout << "地址1:" << &var2 << endl;
}
*
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。
#include <iostream>
using namespace std;
int main(){
int var1 = 40;
int *p1;
p1 = &var1;
cout << p1 << endl;
cout << *p1 << endl;
}
执行结果为
➜ code ./a.out
0x7ffee586f6ac
40
可以看到,p1是地址,*p1就是值了。我们再看看它复杂的使用方式。
#include <iostream>
using namespace std;
struct info{
int a;
int b;
};
int main()