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;    输出到‘\0’位置为止

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

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

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

                Int i;

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

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

         用法:(1)独立引用

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

(2作为函数参数使用

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

(3作为函数返回值使用

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

  

        

           

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值