C++基础教程(六)——指针(1)
来源:互联网 发布:手机吉他软件模拟器 编辑:程序博客网 时间:2024/05/29 13:15
//=====================================================// Name : Pointer1.cpp// Author : lf// Version : 《C++语言基础教程》 吕凤翥 P35——P37 2.5.1// Description : 指针// Tips :// int *P ---------> p是一个指向int型变量的指针// char *c---------> c是一个指向char型变量的指针// char (*pa)[3]---> pa是一个指向char型字符数组的指针// int (*pf)()-----> pf是一个指向函数的指针,该方法的输入参数为空,返回值是int// int * *pp-------> pp是一个指向指针的指针,即二级指针//=====================================================#include <iostream>using namespace std;int main() {cout << "<----变量,数组元素,结构成员等地址值都表示为变量名前面加运算符&---->" << endl;int a=5;int b[5]={1,2,3,4,5};//取整型变量的地址值int *p1=&a;cout <<"取出指针里面保存的地址的方式:p1="<<p1<<endl;cout <<"取出指针里面保存的地址所表示的值的方式:*p1="<<*p1<<endl;//取数组中某个值的地址值,如此处://取出数据b中下标为3的值的地址int *p2=&b[3];cout <<"p1="<<p1<<",p2="<<p2<<endl;cout<<"--------------------------"<<endl;cout<<"<----数组的地址用数组名表示---->"<<endl;int c[2]={1,2};int *p3=c;cout <<"p3="<<p3<<endl;cout<<"--------------------------"<<endl;cout<<"<----C++规定:任何数组的数组名都是一个常量指针,其值是该数组首元素的地址值---->"<<endl;cout<<"<----在以下示例中:d是一个二维数组两行三列.p4是一个指向一维数组的指针,它所指向的是有3个元素的一维数组.---->"<<endl;cout<<"<----将d赋值给p4是让p4指向二维数组的第0行.二维数组的第0行就是该二维数组的首元素---->"<<endl;cout<<"<----同理p5指向e的第一个元素---->"<<endl;int d[2][3];int (*p4)[3];p4=d;int e[3]={2,3,4};int *p5=e;cout <<"p4="<<p4<<",p5="<<p5<<endl;cout<<"--------------------------"<<endl;cout<<"<----函数的地址值可以用函数名来表示---->"<<endl;cout<<"<----即一个指向函数的指针可用它所指向的函数名来赋值---->"<<endl;cout<<"<----在以下示例中:p6是一个指向函数的指针.所指向的函数输入参数为double,输出结果亦为double---->"<<endl;cout<<"<----在这里sin给p6赋值,实际上是让p6指针指向sin函数在内存中的入口地址---->"<<endl;double sin (double x);double (*p6) (double);p6=sin;cout <<"p6="<<p6<<endl;return 0;}double sin (double x){return 0.0;}
0 0
- C++基础教程(六)——指针(1)
- 黑马程序员——C语言基础(六)指针
- C++基础教程(四)——指针(3)
- C++基础教程(五)——指针(2)
- C和指针 六
- Objective-C基础教程六(对象初始化)
- 六、C_base——指针
- C语言回顾(六、基类型,数组指针,字符串指针,函数指针,文字常量区)——iOS开发基础
- Python学习笔记【六】——《python基础教程》:: 抽象
- Ogre笔记九:基础教程六—CEGUI和Ogre
- C语言指针学习六
- 《c和指针》(六)
- objective-c基础教程——学习小结
- objective-c基础教程——学习小结
- objective-c基础教程——学习小结
- objective-c基础教程——学习小结
- objective-c基础教程——学习小结
- objective-c基础教程——学习小结
- [美股]全周大盘涨2%踪
- 分享17个微信创新应用案例 应用场景的不同应用
- Spring事务@Transactional小问题
- mongodb主从复制
- C ++ 函数后面加throw()的作用
- C++基础教程(六)——指针(1)
- 【并查集】 HDU 1213 How Many Tables
- Android 进程和线程模型 .
- 基本数据结构——二叉树的建立,遍历,求叶子节点,深度计算
- sum over
- LeetCode 001. Two Sum
- 关于研发成本的一些思考
- Android开发之判断网络是否连接并提示设置
- 集合的小问题