1. 内存四驱模型
1 | void change1(int number){ // 不能修改 |
2. 指针间接赋值的意义
1 | void change2(int* number){ // 可以 |
在做开发的时候,离不开指针,指针出现的意义有很多,其中一种就是通过方法去修改值 :
- 获取Bitmap信息
1 | AndroidBitmapInfo android_bitmap_info; // 结构体 |
c 和 java 的方法不同所在,c 可以传对象的地址在方法里面去赋值,java 一般都是通过返回值
java 写法:
AndroidBitmapInfo android_bitmap_info = AndroidBitmap_getInfo(env,bitmap);
3. 野指针和 null 地址
野指针
:指 释放了指针对应的内存地址后,没有把指针置为 NULL
NULL
: NULL 相当于指向 0x00000000
,这块地方是 c 和 c++ 编译器所持有的,不能在这块区域赋值
strcpy(p,”string”);
p=”string”;第一个是把string赋值给p,第二个是p指向“string”的首地址。
1 | int main(){ |
4. 字符串强化
1 | int main(){ |
5. 项目开发模型强化
- 确定你的参数,传递指针
- 一定要考虑健壮性
- 要异常错误进行抛出说明 萤视频 ffmpeg
- 不要直接轻易的去改变调用传递给你的指针