JNI - C基础1
JNI 基础回顾(占位符,sizeof,for循环,指针)
占位符
1 | printf("%s\n","Hello Rocka"); |
占位符以及占位符意义:
符号 | 占位符 |
---|---|
%d | 十进制整数占位符 |
%c | 字符占位符 |
%i | 十进制、八进制、十六进制整数占位符 |
%p | 地址占位符(指针占位符) |
%f(.2f) | 浮点类型占位符(小数点后.2f) |
%x(X) | 十六进制整数占位符 |
%s | 字符串占位符 |
%o | 八进制整数占位符 |
sizeof
1 | printf("int类型所占%d字节数\n" , sizeof(int)); |
for循环
Windows得写法如果不标准不一定能在Linux下使用,例如下面两个:
1 | //写法1: |
输入输出
主要用scanf
1 | int a; |
指针
指针存储的是变量的内存地址),内存地址(系统给数据分配的门牌号)
定义:
在计算机中,所有的数据都是存放在内存中的,一般把内存中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不一样,如int占用4个字节,char占用1个字节。为了正确地访问这些内存单元,必须为每个内存单元编上号。每个内存单元的编号是唯一的,根据编号可以准确地找到该内存单元。
内存单元的编号叫做地址(Address),也称为指针(Pointer)。
指针示例1:
1 | int b = 30; |
指针示例2:
间接赋值。变量名,对内存空间上的一段数据的抽象.
1 | int c = 40; |
指针其他
外挂:通过动态链接库注入的方式来修改内存地址来修改内存地址对应的变量,像以前的金山游侠修改器一样。
指针有类型,地址没有类型,地址只是内存开始的位置,类型是读取到什么位置结束。比如int读取四个字节,double读取八个字节
空指针的默认值为0