【指针】

定义

  • 指针是保存地址的变量
  • *p是一个指针
int i;
int *p=&i;
\*或者*\
int* p=&i;
  • p指向i
  • p的值是i的地址
  • *p的值是i的值

作为参数的指针

可以使用函数 void f(int *p);
在被调用的时候得到了某个变量的地址:

int i=0;
f(&i);

在函数里可以通过*p这个指针访问外面这个i的地址

#include<stdio.h>

void f(int *p);
void g(int k);

int main(void)
{
    int i=6;
    printf("&i=%p\n",&i);
    f(&i);
    g(i);
    
    return 0;
}

void f(int *p)
{
    printf(" p=%p\n",p);
    printf("*p=%d\n",*p);
    *p=26;
}

void g(int k)
{
    printf("k=%d\n",k);
}

运行结果

&i=0x100000 \\&i是i的地址,用%p
 p=0x100000 \\p的值是i的地址,用%p
*p=6 \\*p的值是i的值,用%d
k=26 \\更改*p的值,i的值会被改变,所以k的值随之改变
发布了9 篇原创文章 · 获赞 0 · 访问量 93

猜你喜欢

转载自blog.csdn.net/weixin_46399138/article/details/105287989