指针
问题: 指针是什么?
简略来说就是咱们应用指针变量,通过这个指针变量拜访该数值
请看上面的示例代码
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
通过下面测试得悉,这样在产生转换时,不能够失去咱们想要的后果