如图,能和我解释一下吗?为什么直接赋值不可以,而用指针却可以?
肯定的啊,你定义了一个指针int *p_index; p_index就是个指针,而 *p_index便是指针p_index指向的内容,即是a。 *p_index = 30 等价于 a=30。 所以你改变了p_index指针指向的内容a
堆和栈
栈:存储空间小,执行效率高。
堆:存储空间大,执行效率低。
栈是本着先进后出的原则。我们所定义的局部变量和形参,都存储在栈内存上。
因为栈在内存中是连续的。我们存贮的变量的变量有序的从栈中 取出,这样就
避免了内存碎片的出现。
在内存中有些不连续的内存区域由链表连起来,就形成了堆。
o(︶︿︶)o 唉 这块真乱……
指针强制改变 变量的值。
#includ......
答案就在这里:C++ 指针改变变量的值
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
const 作用: http://blog.csdn.net/zgz1002/article/details/51376274
要分清楚指针和指针指向的内容两个概念,指针代表地址要赋值也只能给地址,*指针=x才可以改变指向的内容。
这不是强制转化吗。。。。