指针

问题: 指针是什么?

简略来说就是咱们应用指针变量,通过这个指针变量拜访该数值

请看上面的示例代码

int num = 7;// 创立指针变量int *p = &num ;printf("%d\n", *p);

在上述代码中,能够看出指针变量申明的办法及如何创立指针

指针变量的申明(申明指针时类型肯定要雷同,防止一些谬误)


类型 *指针变量名 = &变量名 其中&是取地址符的意思

上面通过简略示例来演示指针的根本应用办法

int a = 1, b = 5;swap(int &a, &b); // 调用函数void swap(int *a, int *b){    int temp = *a;    *a = *b;    *b = temp;        printf("a = %d\nb = %d\n", *a, *b);}// result: a = 5, b = 1

在下面代码中,函数申明咱们应用了地址符指向了两个值,在函数中,咱们通过一个长期变量实现替换变量。试想下,如果咱们没有通过指针来实现替换,会胜利么?

上面是我没有指针指向变量而意料之外的谬误

swap(int a, int b);void swap(int a, int b){    int temp = a;    a = b;    b = temp;        printf("a = %d\nb = %d\n", a, b)}// result: a = 1, b = 1

通过下面测试得悉,这样在产生转换时,不能够失去咱们想要的后果