JNI之C语言指针再现
2016-09-12 20:46
295 查看
C语言指针再现
前言
将近一年多没用碰C和C++的东西了,一直在做java和android的东西,学到android的jni开发的时候需要用到C和C++的东西,其中C和C++中最难的东西毫无疑问就是指针了,相信大家都有这种苦恼,即使学了也就是半懂不懂的状态。下面将用最简单的例子来说明下指针。实现
代码如下:#include<stdio.h> #include<stdlib.h> main(){ int i = 123; //一般计算机中用16进制数来表示一个内存地址 printf("%#x\n",&i); //int* int类型的指针变量 pointer指针 指针变量只能用来保存内存地址 //用取地址符&i 把变量i的地址取出来 用指针变量pointer 保存了起来 //指针pointer指向了i的地址 int* pointer = &i; printf("pointer的值 = %#x\n",pointer); printf("*pointer的值%d\n",*pointer); *pointer = 456; printf("i的值是%d\n",i); }运行结果如下:
0x62fe44 pointer的值 = 0x62fe44 *pointer的值123 i的值是456下面做关键部分的解释:
int* pointer = &i;这句代码的意思是定义一个指针变量pointer,并让其指向变量i的内存地址,也就是point里面存的就是变量i的内存,而*pointer里面存的就是pointer指向的内存里面所存的值,即i的值。
*pointer = 456;这句代码的意思是修改pointer指向内存的值,所以最后i的值被修改成了456.
相关文章推荐
- Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型
- Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型
- C语言调用jni中JNIEnv指针使用和理解
- Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值
- JNI之C语言多级指针剖析
- C语言之指针
- c语言指针的初始化和赋值
- 深入理解C语言指针的奥秘
- C语言的二级指针与二维数组
- 【C语言简单说】二十:指针基础
- 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
- 深度理解C语言------指针
- C语言指针基础
- 学习C语言指针的问题
- 关于C语言中一,二级指针函数中的使用和c语言中和函数发生调用时,实参和形参都会占用内存吗?
- C语言的复合指针
- C语言——指针与函数
- C语言指针及数组
- C语言指针详解----指针声明定义赋值
- C语言指针使用陷阱