指针: 变量的地址。

定义: 

 int *p; 这里是一个野指针,会报错。因为它没有指向

 --

int a=10;

int *p=&a;  这里就是对的。

通过 p 来输出一个十六进制的地址。 p将得到 0x-----(-为不确定)

通过*p 来输出 指针实际对应的值。 *p 将得到10

#include <stdio.h>
void fun(
int *m, int *n);
int main()
{
    
int a = 3, b = 5;
    printf ("a =%d; b = %d \n",a,b);
    fun(&a,&b);
    printf ("a = %d; b =%d \n",a,b);

    
int k=20;
    int *p = &k;
    printf("%p\n",p); //p is a pointer but the *p is get the value of p
    printf ("%d\n",*p);
    return 0;
}
//交换两个数,要操作的是数,而不是指操作指针。传递参数时,采用了地址传递。
//地址传递要用指针来接收。  获取指针对应的值,用*号来获取
;
void fun(int *m, int *n) 
{
    
int t;
    t = *m;
    *m = *n;
    *n = t;
}

输出结果为

a =3; b = 5
a = 5; b =3
0xbfbf9db0
20

 

相关文章:

  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2021-11-17
  • 2021-09-27
  • 2021-10-19
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2021-08-21
相关资源
相似解决方案