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
测试
typedef
what
用来给某个类型定义别名
语法: typedef 类型名 别名
why?
简化编码
how?
给内置类型定义别名
给自定义类型定义别名
测试
内存分配
理解
一个变量的内存什么时候分配和释放?
我们是否可以自己手动分配(申请)内存?
分类
静态自动分配
特点
分配: 在程序(函数)开始执行之前
释放: 整个程序结束
哪些?
全局变量
动态自动分配
特点
分配: 程序运行到所在语句
释放: 程序运行出了对应的代码块
哪些?
局部变量(包括形参)
动态手动分配
特点
分配: 执行malloc(size)函数
释放: 执行free()
哪些?
执行malloc()返回赋值的变量
测试
测试1: 静态分配
测试2: 动态自动分配
测试3: 动态手动分配
枚举
理解
枚举类型声明代表整数常量的符号名称
使用关键字: enum
枚举变量本质就是int类型
目的: 提高程序的可读性
测试
JNI之C语言(七)-- 其他
最新推荐文章于 2024-07-25 15:55:44 发布