大爷 我找指针 指什么? 指针 什么针?大大爷您忙吧

指针

指针两个值 一个自身 一个指向
要不给他已有变量地址 要不给空指针

int *p ==Null
int *p =&a
不允许出现野指针

int a = 10;
int *p = &a;
int **s = &p

a=10
&a =0012ff28

*p=a=10
p=0012ff28
&p = 0012ff10

s=0012ff10
*s=0x0012ff28
**s=10
&s=0x0012ff04,
*s=p
**s=pa

&*p = &a
*&p =&a

乘法 声明 解引用

&取地址 位与 引用

名称 物理地址 值

变量存数值
一级指针存变量地址
二级存一级地址

s=上一个内存块的地址
*S = 上两个内存块的地址
**s=上两个内存块中的数据 前面没了

数组 属性 类型 大小 内存连续
[]前不是数组名 是首地址
ar[i]=* (ar+i)= i[ar]=* (ar+i)
只要有一个指针加一个变量 就可以使用a[b]模式

p = p+n // p = p + sizeof(type) * n

光有数据 没有类型 是没有意义的

预编译 替换#
编译 类型 语法 词法 检查
链接 链接动 静态库
可执行 代码 堆 栈 数据

typedef 会把一切合法的变量定义 转化成所对应类型

char ch = 10;
int a = 6;

char cp =&ch;
int *ip = &a;

ip = cp; 不同类型指针不能互相赋值 ip解释cp时候 在内存中要解释4字节 ch只有1字节 会解释不确定内容 打乱了内存解释 必须强制转换

a
b
b
d

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值