概述
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 )
- 字符串的值是第一个字符的地址,可以说字符串是个常量指针,与数组一样
Char s1[]=”hello” //s1常量
Char *s2=”hello” //s2变量
S2的内容只能访问,不能修改,不可以通过下标的方式或者指针的方式修改字符串常量的内容
Cout<<s2; 输出到‘ ’位置为止
- ,cin语句在遇到空格,换行,回车停止,用gets()函数,该函数能够读取带有空格的字符串,以回车符作为输入结束,读取错误返回NULL
- 引用:
给变量起一个别名,是变量本身
定义语法: 数据类型&引用名=变量名
Int i;
Int &ri=i; //int &ri错误
定义时必须指定是哪个变量!!!,一旦说明,不能与其他变量建立别名关系
用法:(1)独立引用
定义时必须初始化;被引用的对象不能为空
(2作为函数参数使用
对形参的修改就是相应实参变量的使用和修改,双向传值
(3作为函数返回值使用
将函数调用结果作为变量使用,不能返回局部变量的引用
最后
以上就是甜蜜萝莉为你收集整理的c++指针知识总结的全部内容,希望文章能够帮你解决c++指针知识总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复