C语言之指针惹热身程序

#include <stdio.h>

int main(void)
{
    int * p;          //p是变量的地址,int *表示p变量存放的int类型变量的地址 p是指针变量 
                      //int * p;不表示定义了一个名字叫做*p的变量
                      //int * p;应该这样理解,p是变量名,p是变量的数据类型是 int *类型 
                      //         所谓int * 类型  实际就是存放int变量地址的类型 
    int i = 3;        //i是普通变量 只能存放一个值
    int j; 
    
    //p = &i;     ok 
    //p = i;      error ,因为类型不一致,p只能存放int类型变量的地址,不能存放int类型变量的值
    //p = 55;    error ,原因同上 
    
    p = &i;       /*  1. p保存了i的地址,因此p指向i
                      2. p不是i,i也不是p,更准确的说,修改p的值不影响i的值,修改i的值也不会影响p的值
                      3. 如果一个指针变量指向了某个普通变量,则 *指针变量  就完全等同于   普通变量   
                          例子:
                              如果p是个指针变量, 并且p存放了普通变量i的地址 
                              则p指向了普通便量i;
                              *p 完全等同于i
                              或者说; 在所有出现*p的地方都可以替换成i 
                                       在所有出现i的地方都可以替换成*p 
                              *p 就是以 p的内容 为地址的变量  (p的内容是i的地址)           */
    j = *p;        //等价于 j = i; 
    printf("i = %d, j = %d\n", i, j);                                   
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Paradise_Violet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值