JNI之C语言(七)-- 其他

来源:互联网 发布:法国航空发动机知乎 编辑:程序博客网 时间:2024/06/05 22:52
7. 其它函数指针理解当一个指针指向的是一个函数时称为函数指针定义返回值类型 (*指针名)(形参类型列表);int (*funP)(int, int)使用函数指针名=函数名funP = fun作为实参传递给调用的函数测试函数指针作为实参传递结构理解在程序中有时需要操作一个复合型(包含多个属性)对象比如: 需要存储书的相关信息, 商品相关信息在C中可以使用struct来实现它类似于Java中的类使用结构声明结构变量声明赋值使用高级使用使用->测试结构体变量定义、赋值、和指针操作指针与数组与字符串指针保存的是某个内存地址值的变量指针所指向的内存数据类型基本数据指针地址数据函数结构数组用来存储多个同类型数据的结构在内存中占用一大块连续的内存数组名就是指向第一个元素的指针字符串由多个字符组成的序列它的最后一位是隐藏的空字符C中并没有定义string这个类型表示字符串的3种方式"" : 常量字符串char数组char类型指针测试字符串综合测试预处理指令理解在程序的顶部总会有以#开头的声明, 它们就是预处理指令在C编译器执行之前, 预编译器会对预处理指令进行处理常用的#include包含头文件#include <xxx.h>#include <stdlib.h>#inclue "头文件名"#define定义全局常量#define NAME value#define SIZE 5测试typedefwhat用来给某个类型定义别名语法: typedef 类型名 别名why?简化编码how?给内置类型定义别名给自定义类型定义别名测试内存分配理解一个变量的内存什么时候分配和释放?我们是否可以自己手动分配(申请)内存?分类静态自动分配特点分配: 在程序(函数)开始执行之前释放: 整个程序结束哪些?全局变量动态自动分配特点分配: 程序运行到所在语句释放: 程序运行出了对应的代码块哪些?局部变量(包括形参)动态手动分配特点分配: 执行malloc(size)函数释放: 执行free()哪些?执行malloc()返回赋值的变量测试测试1: 静态分配测试2: 动态自动分配测试3: 动态手动分配枚举理解枚举类型声明代表整数常量的符号名称使用关键字: enum枚举变量本质就是int类型目的: 提高程序的可读性测试

0 0
原创粉丝点击