wordpress 亲子模板下载,长沙优化官网收费标准,怎么做无损mp3下载网站,优化网站使用体验为什么要使用指针#xff1f; 1.函数的值传递#xff0c;无法通过调用函数#xff0c;来修改函数的实参 2.被调用函数需要提供更多的“返回值”给调用函数 3.减少值传递时带来的额外开销#xff0c;提高代码执行效率 --- int a[10] 40 字节 int *p; pa;…为什么要使用指针 1.函数的值传递无法通过调用函数来修改函数的实参 2.被调用函数需要提供更多的“返回值”给调用函数 3.减少值传递时带来的额外开销提高代码执行效率 --- int a[10] 40 字节 int *p; pa; 4 字节 指针的定义 int *p; // int *p1, *p2; 或者 int* p; // int* p1,p2; //p1 是指针 p2 只是整型变量 或者 int * p; 或者 int*p;//不建议 指针注意 32 位系统中int 整数占 4 个字节指针同样占 4 个字节 64 位系统中int 整数占 4 个字节指针占 8 个字节 %p格式控制符
“%p”中的p是pointer指针的缩写 一般以 十六进制整数 方式输出指针的值附加前缀0x 打印地址 -- 指针即地址 //使用 16 进制打印把地址值当成一个无符号数来处理 printf(p10x%p\n, p1); printf(p10x%x\n, p1); printf(p10x%X\n, p1);
int a 8; int *p a; cout*pp; -- 结果*p8 || pa的地址 *p a* 特殊运算符解引符 什么是空指针 空指针就是值为 0 的指针。任何程序数据都不会存储在地址为 0 的内存块中它是被操作系 统预留的内存块。 int *p 0; 或者 int *p NULL; //强烈推荐
空指针的使用 1指针初始化为空指针 int *select NULL; 目的就是避免访问非法数据。 *p 的概念 在 p 当前地址的基础上 ,自增 p 对应类型的大小, 也就是 p p 1*(sizeof(指针类型) 如指针 1并不是在指针地址的基础之上加 1 个地址而是在这个指针地址的基础上加 1 个元素占用的字节数。 1指针和指针可以做减法操作但不适合做加法运算 2指针和指针做减法适用的场合两个指针都指向同一个数组相减结果为两个指针之间的元素数目而不是两个指针之间相差的字节数
3不同类型的指针不允许相减
void * 空类型指针 1.不允许做算术运算 2.可以做强制转化 3.其他类型可以转化为void *指针