正文

C++个人回顾小结:指针2006-11-22 21:16:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/edwardguo/20636.html

分享到:

最近在复习C++,想把每次复习的东西挑重点的写在我的BLOG上面,以来最为个人复习和总结。二来把这些东西和大家共同分享一下。 指针 int a(5); int *p=&a; &a代表变量a的地址。指针p的赋值必须指向某个变量的地址。   int b[10]; int *p=b; b相当于b数组第一个元素的地址&b[0] 所以上面可以这样直接赋值。 对于二维数组b[2][4] 可以这样通过指针调用元素:*(*(b+i)+j;  *(b[i]+j); *(b+i)[j]; *(&b[0][0]+4*i+j); 由此可以拓展到三维数组 int (*p)[3]; 表示p所指向的是3个元素的一维数组 int b[2][3]={1,2,3,4,5,6}; int (*q)[3]; q=b; 可以通过cout<<(*q)[i]<<endl;输出数组b当中的第i个元素 函数的指针: double sin(double x); double(*pf)(); pf=sin; 表明pf是一个指向函数的指针,它所指向的函数是sin,这里用sin给pf赋值,实际上是让pf指针指向sin函数在内存中的入口地址。 另外指针比较具体的理解为 &表示取地址 *表示取内容 &a表示取变量a的地址 *p=&a就表示把a的地址放到指针p的内存单元的内容里面去。 当然,大家记住了在比如输出cout<<*p<<endl;当中,输出的可是*p的所指向内容而不是变量a的地址了哦。  

阅读(10421) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册