今天继续看指标与阵列陷入深深地不知该如何写心得中,指标*ptr是专门用来指向物件记忆体位置的类型。在C++中阵列跟指标有密不可分的连结,参考蚂蚁书的介绍一个int v[5]阵列的结构可以用下图表示,而阵列名称v就是永远指向v[0]记忆体位置的指标,因为v本身是指标所以可以直接丢给*ptr并透过修改*ptr的记忆体位置即ptr进一步取阵列的每个元素的值,程序码如下
int main(){
int v[5] = {1,2,3,4,5};
int *vPtr = v ; //直接将阵列v丢给指标
cout << vPtr << endl ; //3000
cout << *( vPtr + 2) << endl ; // 3
cout << vPtr + 2 << endl ; //3008
cout << ++vPtr << endl ; //3004,骚操作
return 0;
}
值得注意的是运算子是有阶级的阶级高的先执行,因为*阶级高於+所以要用括号包起来,若不刮起来 *vPtr+2会变成 v[0]+2,至於为什麽代码写vPtr+2 记忆体位置却+8那是因为int占4个bytes,2*4=8真是令人头昏目眩的写法
>>: Day19:19 - 结帐服务(3) - PayPal Python Checkout SDK(1)
python中引用不同文件夹下面的函数的时候,使用了__init__.py依然没有用,後来发现原因:...
前情提要:在前面的文章有了Redux,状态管理没烦恼,学到了如何在 Redux 透过 Action...
多载 利用JAVA中的多载,就不需要这麽多的函数来做相同的工作! 那多载到底是什麽呢?其实就是指相同...
这次要来建立一个我说甚麽你跟着说的机器人。 你需要从刚刚申请的LINE帐号中拿两个东西跟你的程序码做...
30天一眨眼就结束了呢!每天坚持写一篇文章,下班回家後一边写一边又翻书查找资料,没想到都撑过来了! ...