关于指针

知识点,比较零碎。

T * p;
p的类型 T *

指针用法:char ch1 = 'A';
char * pc = &ch1; //pc指向变量ch1
&取地址符

指针作用:有了自由访问内存空间的手段
在写一些偏底层的程序的时候,需要自由访问内存空间,比如驱动程序。(比如病毒)

运算:
1.比较大小
2.加减
3.加减整数
4.自增自减
5.用下标运算符[]进行运算

如何访问int型变量a前面的一个字节?
int a;
char * p = (char * ) &a;
--p;
强制转换为char就可以了

指针做函数参数:
void swap(int *p1,int *p2);
swap(&m,&n);

数组的名字是一个指针常量,指向数组的起始地址
不能对其进行赋值

T *p 和 T p[]等价

指针和二维数组:
T a[m][n]
a[i]就是一个一维数组

指向指针的指针
T ** p;
p是指向指针的指针,p指向的地方存着一个T *类型的指针
*p 的类型是 T *

字符串操作的库函数:https://zh.cppreference.com/w/cpp/string/byte

void指针
可以用任何类型的指针对void类型指针进行初始化
*p无定义 ++p,--p,p+=n,p+n,p-n等均无定义

指向函数的指针
!!这就是sort函数用到的,可以传入一个排序函数cmp作为参数



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值