对数组名与指针的认识
来源:互联网 发布:淘宝注销账号怎么注销 编辑:程序博客网 时间:2024/05/02 01:26
char *p 这里的*与char一样 定义了变量p为字符型指针。
printf(%s“,*p); 这里的* 称之为间接运算符 不过我个人更喜欢称呼为 取值运算符
*p:找到p变量里保存的地址对应的内存空间。
p++:对p对应的内存空间的值加1。
(*p)++:对p指向的内存空间的值加1。
*(ptr + i)=ptr[i]; 运算符[] = *() 不过值得注意的是 等式两边虽然成立 但是左边ptr对应的内存空间已经改变 而 后者并未改变
我们知道p变量是用来保存地址的 那么p本身也有地址 如果需要变量来保存的话 相应的就有了二维指针 **p 用来保存p的地址。
对于数组 我们都知道数组名保存的是数组首元素的地址 实际上还应该补充一点 对于一维数组名而言 它是一个指针常量 保存了数组首元素的地址。
&a:数组的地址(对一维数组名取地址) *(&a) = a :对一维数组地址取值等于数组首元素的地址。
二维数组名也是一个指针常量 保存了第一个一维数组地址
for循环中 i = 0 ,j = 0;a是一个二维数组名 那么*(*(a + i)+ j)是什么?
a + i:第i + 1个一维数组的地址
*(a + i) :第i + 1的一维数组首元素的地址
*(a + i)+ j:第 i + 1 个一维数组的第 j + 1 个元素的地址
那么 就很简单了 *(*(a + i) + j) 就是第 i + 1 个一维数组的第 j + 1 个元素的值。
0 0
- 对数组名与指针的认识
- 对指针与数组名的理解
- 指针数组与数组指针的认识
- 由sizeof()引出的对数组名和指针的新认识
- 对指针,数组的部分认识
- 对指针和数组名的理解
- 数组名与指针
- 数组名与指针
- 数组名与指针
- 数组名与指针
- 数组名与指针
- 指针与数组名
- 数组名与指针
- 数组名与指针
- 数组名与指针
- 指针与数组名
- 指针与数组名
- 数组名与指针
- Java学习笔记-高级for循环
- 01UI-day2-151226
- Android IPC :通过Localsocket完成
- 【NOIP】NOIP考纲总结+NOIP考前经验谈
- 【数据结构】浅析B树
- 对数组名与指针的认识
- 第十二周项目1-图基本算法库
- axis2+spring集成
- opencv(九)之轨迹条条创建和使用createTrackbar
- js导出EXCLE
- 01UI-day3-151228
- readyState的五种状态
- 图邻接表有向表代码简洁实现
- SourceTree初学