指针相关学习内容

指针 也是变量
1、指针类型:
int * ptr/p =&a  (储存地址)
char *
double *
void *
2、访问变量
* pa=0  ==》a=0
3、&和*是互逆的
4、通过指针的变化,访问前后的内存
5、初始化:
 int *pa=NULL;
pa=&a;
6、指向指针变量(指针的指针)
int **pa2=&pa
&pa指向指针变量的地址
7、tips:
(1)float *pb,b;pb是指针 ,b是变量
(2)指针类型和变量类型要匹配
(3)swap(&a,&b)时,函数形参必须是指针(swap(int *a,int *b))
8、函数实参与形参传递方式:
(1)int a,int b; 传值(值传递)
  (2)   int &a,int &b; 传实参(引用)
  (3)   int *a,int *b; 传地址(指针)
9、*,&的含义
int *p 表示定义指针
*p 表示取对应的值
int &j =i表示i的地址
 &p表示p的地址(用于引用)
&p不能被赋值;
10、const 指针
最小特权原则 主要看const
const int *==int const* 表示*p不能修改
int *const p表示p不能修改
const int *const p 表示*p和p都不能改变
11、指针加一表示下一个元素(同类型的)
12、类型为char*或const char*时,输出地址对应的字符,并继续向后输出,直到\0
故最好char arr[9]={0};
13、*(pb+3)=pb[3]
数组类型地址的长度和指针类型不同
但sizeof(*(b+1))=sizeof(*(pb+1))(取得是元素 )
14、char* color="blue"不可修改
char string[] /char*string 不可修改
char color[]="blue"可以修改
char*color[]不可修改
const char*color不可修改
15、数组名不能++,不能作为左值被改变
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值