135节---------3月22日

*的含义:

  • 乘法
  • 定义指针变量,如int*p//定义了一个名为P的变量,int*表示P只能存放Int变量的地址。
  • 指针运算符:该运算符放在已经定义好的指针变量的前面。*p表示以p的内容为地址的变量

如何通过被调函数修改主调函数普通变量的值

  • 实参必须为该普通变量的地址
  • 形参必须为指针变量
  • 在被调函数中通过   “ *  形参名=......”  的方式修改主调函数相关变量的值

如:

void g (int*p,int*q)

{
    *p=1;
    *q=2;
}

 
int main(void)
{
    int a=3,b=5;
    g(&a,&b);
    printf("%d %d\n",a,b);
    return 0;
}

指针和数组

1.指针和一维数组

  • 一维数组名:是指针常量,存放的是一维数组第一个元素的地址

  • 下标和指针的关系

        如果p是一个指针变量,则p[i]永远等价于*(p+i)。

        确定一个一维数组需要几个参数(如果一个函数要处理一个一维数组,则需要接受该数组的哪些信息)

                (1)数组第一个元素的地址(首地址)

                (2)数组的长度

  • 指针变量的运算

        指针变量不能相加,不能相乘,不能相除。

        如果两个指针变量指向的是同一块连续空间中的不同存储单元,则这两个指针才可以相减,比如数组

  • 一个指针变量到底占几个字节

                假设p指向char类型变量(1个字节)

                假设q指向int类型变量(4个字节)

                假设r指向double类型变量(8个字节)

                       p q r本身所占的字节数是否一样?

                        答案:p q r本身所占的字节数是一样

一个指针变量,无论它指向的变量占几个字节,该指针变量本身只占4个字节

一个变量的地址使用该变量首字节的地址表示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值