C 学习第9天-指针2

今天又学习了一天的指针 说下我的理解.

从int a = 5 ;开始说
首先这个int a会开辟内存空间 存入5 这个内容
又会产生一个地址的数 这个数的别名 就是a
然后定义指针 int *p = &a 那这么也好理解了 
这个p 开创了一个新空间 别名p 里面放得是a的地址数

然后就是一个很重要的概念;


字符串指针与字符串的异同

首先 ,数组和字符串指针都可以用 直接赋值的形式来初始化,不同的是

字符串指针用直接赋值的形式初始化后不能改变,而数组直接赋值初始化后是可以改变的

原因是,任何字符都是个常量,当它直接赋值给字符串指针时,这个指针存得就是这个常量的地址,

而常量是不可修改的. 数组呢,数组存得是这个字符串的copy 这里面的内容是可以修改的

我觉得学好指针的重要就是理解内存


然后就是指针的使用了,在C里面没有返回数组的这个return 所以我们想操作数组的时候  

只需要传入数组指针就可以对数组进行操作,同样的,当需要多个返回值时,在java中我的做法

经常是返回一个list 再解析,而在C中就没这么麻烦了,直接传入几个指针,直接对这些指针指向的

变量进行操作.


关于指针的使用只要理解了 就不是很难,还是一个代码量的问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值