C++学习笔记二 —— 3.3 指针类型

来源:互联网 发布:centos traceroute安装 编辑:程序博客网 时间:2024/06/07 17:11
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

1.每个指针都有一个相关的类型,不同数据类型的指针之间的区别不是在指针的表示上,也不在指针所持有的值上——对所有类型的指针这两方面都是相同的。不同之处在于指针所指的对象的类型,指针的类型可以指示编译器怎样解释特定地址上内存的内容以及该内存区域应该跨越多少内存单元。                                                            


2."int* p1,p2;" 和 "int *p3,*p4"是不一样的。
p1是一个指针,p2是个整型数。p3,p4都是指针。                                                       


3.指针不能被初始化或赋值为其他类型对象的地址值。并不是说不能持有其他类型相关联的内存地址:它能够,但不允许,因为,虽然能够持有同样的地址值,但对那块内存的存储布局和内容的解释却完全不同。                                                      


4.指针检验会降低效率,并且往往无法决定这些指针在执行时期会有什么值。使用指针的几点注意:总是将指针初始化、不要无视编译器发出的错误信息或警告信息如:强制转换为指针变量"等。

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击