指针 也是变量
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、数组名不能++,不能作为左值被改变
指针相关学习内容
最新推荐文章于 2024-08-02 21:44:56 发布