指针这个东西上课没认真听,有没有大佬能给我讲解下
2 个赞
我感觉指针没啥用(除了链表)
3 个赞
代码示例:
//1、定义一个指针
//指针定义的语法:数据类型*指针变量名
int a = 10;
int *p;
//让指针记录变量a的地址
p = &a;//或者直接int *p=&a;
cout << "a的地址为:" << p << endl;
//2、使用指针
//可以通过解引用的方式来找到指针指向的内存
//指针前加*代表解引用,找到指针指向的内存中的数据
*p = 1000;
cout << "a=" << *p << endl;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
运行结果:
a的地址为:00F6FC7C
a=1000
麻烦给个解决方案呗 @叶博远
2 个赞
函数传参时更快,并且能真正修改所传的变量,比如:
void Swap(FibNode* x,FibNode* y)
{
FibNode* tmp;
x=y;
y=tmp;
}
指针可以用于动态内存分配,比如
FibNode* x=new FibNode;
指针可以指向一个数组,也有所谓的“二维指针”“三维指针”
比如
char **array;
等等
c/c++中,很多数据结构需要使用指针
以斐波那契堆为范例
struct FibNode
{
bool mark;
int key;
int degree;
FibNode* parent; FibNode* child;
FibNode* left; FibNode* right;
};
class FibHeap
{
public:
void FibHeap_Union(FibHeap* FH2);
void FibHeap_ExtractMin();
void ConSolidate();
//etc
private:
int n;
int MaxDegree;
FibNode* min; //......... 随手在xyd的md编辑器里写的,连IDE都没打开,不知道过得过不了编译,就当个乐子看
};
我也不知道我说的对不对,而且还有很多有关于指针的知识
所以
赶紧
第五人格,启动!!!