lee-romantic 's Blog
Everything is OK!
Toggle navigation
lee-romantic 's Blog
主页
About Me
归档
标签
指针赋值的理解
2018-09-20 12:23:48
313
0
0
lee-romantic
* 1.2.3 ``` int *a,*b;//声明两个指针变量 a=b; //指针复制:此语句使a指向的地址与b指向的地址相同,它们都指向同一内存区域。 *a=*b ; //指针赋值:此语句使a指向的地址(内存位置)的内容与b指向地址(内存位置)的内容相同,但a与b指向的地址不一定相同 ``` a,b,都是指针变量,*a表示指针变量所指向的值,同样*b也是如此。*a=*b就是表示把指针b所指向的值赋值给指针变量a所指向的值。 但是要是指针a要是没有初始化或是开辟空间的话,这样赋值就有危险!!! 例如: int *a; int *b=5; *a=*b; 首先声明一个指针变量a,但是系统并没有为其分配空间,也就是说此时指针变量的值即地址不确定的,那么*a也就表示一个不确定的值,有可能这个值是系统的重要数据,那么*a=*b;不就修改了系统的数据了吗???也就变量的危险了。 所以声明指针变量的时候一定注意初始化,初始化为0也可以,代表空指针。 * 4 &a=&b ; //这个一般比较少用,使指针a本身的内容与指针b本身的内容相同 * 5 总结指针的用处:用于指向与其类型相同的地址,重点在于指向地址,而不在于指针本身的内容(故&a=&b一般仅作理解,比较少用) **一句话:指针a是一个地址, *a是它指向的内容,&a是它本身的内容**
上一篇:
何时需要自定义拷贝构造函数及其他(三法则)
下一篇:
构造函数和析构函数中调用虚函数
0
赞
313 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册