我是靠谱客的博主 甜蜜萝莉,最近开发中收集的这篇文章主要介绍c++指针知识总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.指针:内存单元的地址    指针变量:专门存放地址的变量

  定义语法:  数据类型*指针变量名;

  此处的数据类型指的是指针所指向的空间里存的数据类型。

  指针变量只能存放地址!!!

2. 32位系统中,每个指针变量占4B

3.  & 取地址运算符  

获得变量的地址 单目运算符  结合性从右向左

4. 使用指针时必须初始化或者赋初值

   (1)数组名初始化

   (2)字符串常量初始化(存放首地址)

5.   *   取内容运算符

单目运算符  自右至左  表示指针变量指向的变量内容

*运算符后必须是指针

区别:在指针变量定义中,*是类型说明符,表示后面的变量是指针类型

    在表达式中,*是一个运算符,表示指针变量指向的内容。

6.  指针变量没有赋值时,是随机值

    赋值为0后,不指向任何变量

7.  指针变量加上或者减去一个整数n就是把当前指针指向的位置向前或者向后移动n个位置(只能对指向数组的指针变量进行)

8.  两个指针变量相减,返回两个指针所指数组元素之间相差的元素个数。

9.  当两个指针变量指向同一数组时,关系运算进行所指数组元素位置之间的比较。

10. 访问一维数组元素的两种方式:

    (1)*(a+i),*(p+i)

    (2) a[i],  p[i]

11.数组指针:

            定义: 数据类型(*指针变量名)[数组长度]

              Int a[3][4];       

Int(*p)[4]=a;    //必须相同

指针p指向数组a的第一行空间

12.访问二维数组的两种方式:

       (1)a[i][j],p[i][j]

       (2)*(*(a+i)+j),  *(*(p+i)+j)

13.二维数据中:  行指针(a+i,p+i)

                 列指针( a[i]+j,  *(p+i)+j  )

  1. 字符串的值是第一个字符的地址,可以说字符串是个常量指针,与数组一样

  Char s1[]=”hello”    //s1常量

  Char *s2=”hello”   //s2变量

  S2的内容只能访问,不能修改,不可以通过下标的方式或者指针的方式修改字符串常量的内容

  Cout<<s2;    输出到‘’位置为止

  1. ,cin语句在遇到空格,换行,回车停止,用gets()函数,该函数能够读取带有空格的字符串,以回车符作为输入结束,读取错误返回NULL
  2. 引用:

     给变量起一个别名,是变量本身

     定义语法: 数据类型&引用名=变量名

                Int i;

                Int &ri=i;   //int &ri错误

                    定义时必须指定是哪个变量!!!,一旦说明,不能与其他变量建立别名关系

         用法:(1)独立引用

                     定义时必须初始化;被引用的对象不能为空

(2作为函数参数使用

            对形参的修改就是相应实参变量的使用和修改,双向传值

(3作为函数返回值使用

      将函数调用结果作为变量使用,不能返回局部变量的引用

  

        

           

最后

以上就是甜蜜萝莉为你收集整理的c++指针知识总结的全部内容,希望文章能够帮你解决c++指针知识总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部