C基础——指针

:指针就是地址,表示的是每个字节的编号。

指针变量:指变量是用来存储指针。

指针的格式:存储类型  数据类型  *指针变量名(* 是指针说明符号,说明这是一个指针)

存储类型:auto static  volatile  const extern regist

(1)auto:自动类型变量

1:局部变量默认存储类型是 auto

2:全局变量的存储类型不允许使用auto 修饰

3:auto存储的变量默认在栈区

4 auto 修饰局部变量会默认初始化为 0

(2)static

1作用:作用于静态变量,延长局部变量的生命周期。延长的是局部变量的生命周期至整个文件,但作用域没有发生改变

2修饰函数时:把文件的生命周期延长至文件结束,但是不可以跨文件调用

3使用static修饰的指针不允许指向auto 类型变量的地址。

(3)volatile   :防止内存优化,保持内存的可见性。

(4)const

const:作用:修饰的值不可以改变

const修饰的全局变量内存在静态区的只读段,只可以读取,不能发生改变

const 修饰的局部变量内存在栈区

const和指针的结合

看const和指针说明符*还有指针的相对位置

看const 后面的是*p还是p或者只是*,后面是*P,则值可以改变,仅仅是p那么地址可以改变

const char *p    值不可以改变,地址不可以改变

char const *p    值不可以改变,地址可变

 char* const p   地址不可以改变,值可以改变

const char * const p  第一个const修饰*,则是不可改变,第二个const修饰p,地址不可以改变

char const *const p 第一个const修饰值,第二个const修饰值得地址,地址和值均不可修改

(5)extern:引用外部变量

1全局变量和函数默认存储类型是extern

2extern类型的变量默认内存存储在静态区

3extern不可以引用static修饰的变量

(6)

register

寄存器变量:寄存器类型的变量不可以取地址操作

《二》

指针的字节大小只和操作系统有关,64位系统都是8字节,32位系统都是4字节。

野指针:未进行初始化的指针,指针指向不明确,非法访问内存。轻则段错误,重则计算机紊乱,甚至死机。

空指针:  指针指向0,用来指针指向不明确时指向。避免出现野指针

int *p=NULL;写成int *p=0;可能会出现错误

*       解引用:取地址所对应的值

& 取地址

指针的偏移   注意 ++*p  *和++运算等级相同,从右往左运算,先取值在自增

   *p++   先对P记性++,但++后缀运算,先取值,再对P自增,向地址高位偏移一个数据类型字节大小

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值