4期c++9月14号

希望生活中有些事情就像while循环一样,愿它的循环条件是1,然而现实却不是这样,往往只能随缘。                           


今天主要学习了指针。在c++中访问内存空间的方式有两种一个是通过变量名访问,称为直接访问,另一个是通过地址访问,称为间接访问。&i;取地址。

指针就相当于另一个变量的地址,可以用它去间接访问变量。指针声明  int i;int *i_pointer=&i;  使用  i=3;*i_pointer=3;。

指针变量的赋值运算:int *p;//声明int类型的指针p。  p=&i;取i的地址给p。            指针名=地址,1,地址内存放的数据类型和指针的类型相同。2,向指针变量赋的值必须是地址常量或变量,不能是普通整数。但可以赋值为整数0,表示空指针。3,允许声明指向 void 类型的指针。该指针可以被赋予任何类型对象的地址。

folat f=3.4;int i=(int)f; 结果表明i=3.4其中()是强制转换int类型。

指针的加减:p+n☞后面第n个数据的地址。

指向数组元素的指针:声明int a[10],  *pa;    pa=&a[0]; 或 pa=a;  a[i]    pa[i]  *(pa+i), *(a+i)是等效的。

指向类类型对象的指针:声明形式:类名  *对象指针名;例Point A(5,10);  Piont *p;  p=&A;

通过指针访问对象成员:对象指针名->成员名如:p->getX();  p->getY();

动态内存分配:new 类型 (初始化值) ;例如;int *p;p=new int[10]; //分配一个含有10个整数的整形数组   delete[ ] p; //删除这个数组

用new申请的动态空间使用完毕后,必须有程序员主动进行释放。

指针常量:在指针定义语句的指针名前加const, 表示指针本身是常量。

例int a; int* const p=&a;  定义时必须初始化指针值p不可以修改,指针指向的内容可以修改。即p是常量,不可以作为左值进行运算,*p可以修改

int b[6];p=b; // 错误  *p=6; //  正确  *(p+6)=6; //  正确  *p++=7;  //  错误

常量指针:在指针的定义类型前加const,表示指向的对象是常量。

例如const int *pi 或 int const *pi; *pi是常量,不能将*pi作为左值。定义指向常量的指针时,定义时不必先初始化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,470评论 3 44
  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 1,804评论 0 9
  • 学者有段兢业的心思,又要有段潇洒的趣味。若一味敛束清苦,是有秋杀无春生,何以发育万物。 人知名位为乐,不知无名无位...
    HedyWang1阅读 173评论 0 0
  • 在这冷漠、孤独的路上 没有艳花的芬芳 没有野草的清香 我们默默的踩着这朦胧、凄清的灯光 惆怅又彷徨 你快走上那条布...
    RogersRainmond阅读 319评论 0 0