1.基本类型的指针

例子一:

#include<stdio.h>

int main()
{
    int i=10;
    int * p=&i; 
               //p是个变量名字,int * 表示该p变量只能存储int类型变量的地址。
               //int *p=&i;等价于 int *p; p=&i;
               //p存放了i的地址,p指向i,*p就是i变量本身
    printf("%d
",p);//  1245052
    printf("%d
",*p); // 10
    return 0;
}

例子二:

#include<stdio.h>
 
void f(int i)
{
    i=100;
}
int main()
{
    int i=9;
    f(i);
    printf("i=%d
",i);//i=9
    return 0;
}

 例子三:

#include<stdio.h>
 
void f(int *p)
{
    /* void f(int *p) 不是定义了一个名字叫做*p的形参,
      而是定义了一个名字叫做p的形参,
      它的类型为int * ,
      只能存储int类型变量的地址*/

    *p=100;//*p和变量i都指向的同一个内存地址。
}
int main()
{
    int i=9;
    f(&i);
    printf("i=%d
",i);//i=100
    return 0;
}
原文地址:https://www.cnblogs.com/xingyunblog/p/3979372.html