c++指 针 笔 记

指针

int n=4;

 int *p=&n;

 cout<<p<<endl;//p是地址;

 cout<<p+1<<endl;//加一仍是地址

 cout<<*p<<endl;;//*p是值

 *p+=1;

 cout<<*p<<endl;//输出5

 cout<<n;//输出5

 return 0;

1、常量指针和指针常量

常量指针 :指向的地址可以变,但内容不可以重新赋值,内容的改变只能通过修改地址指向后变换 (int const *p=&a;) const修饰的是*p,则值不变,可以指向另一个与原指针相等的变量

指针常量 :指向的地址不可以重新赋值,但内容(值)可以改变,必须初始化,地址跟随一生              

变量类型转化 (int  * const p=&a;) const修饰的是p,则地址不变

2、空指针

    指针变量指向内存编号为0的空间(内存编号0~255为系统所占用的内存,不允许用户访问)

Int *p=NULL;

      Cout<<*p<<endl;//该语句错误,不可访问

3、 指针访问数组中的值

     void print (int arr[] , int size)

{

 int *p=arr;//数组名实际是指向数组第一个元素的指针

 for(int i=0;i<9;i++)

     {

     cout<<*p<<endl;

     p++;

     }

}

   函数 void print(values[],int size) //实际向函数传递了数组首地址,告诉函数数组从何开始,和变量size则告诉函数数组在何处结束。

等价于 void print(int *p , int size)

默认情况下,32位的操作系统中,指针所占字节为4,64位操作系统则是8.

目录

指针

1、常量指针和指针常量

2、空指针

3、 指针访问数组中的值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值