企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 前情回顾 - include类似于java中的import 两个比较重要的头文件为stdlib.h和stdio.h - 程序入口main(); system("pause")定义windows系统命令相当于 return 0; - C基本数据类型 C没有boolean和byte ,C中long和char 长度和java有区别 long 4个字节 char 1个字节 - signed和unsigned 只能用来修饰char short int long 这些整型变量,默认是有符号的signed - printf("输出的内容+占位符(如果有变量的话)",变量),占位符要选择对应的占位符 - C的字符串char, C数组 C数组声明的时候“[]”要放到变量名的后面 - char数组结束符"\0" - C的字符串声明 1、char array[]={'a','b','c'};2、char array[]="abcd";3、char* str="abcd"; - scanf("占位符",内存地址);取地址符 & - C的字符串不检测越界,使用时尽量申请稍微大一点的避免越界 - 内存地址 - 指针 int i=123;int* pointer=&i; - pointer取到的是i的地址 *pointer取出的是i的值 ;&pointer 取出的是pointer自己的地址 - pointer误区 1、野指针 指针赋值操作之前要先初始化 ,给指针变量赋值一个程序中声明的变量的地址 - int* 指向int类型变量的地址 - 值传递和引用传递 都是传递的值; 但是引用传递传递的是地址值;子函数修改main函数的值,一定要用引用传递 - 指针和数组 , - 指针的长度 32为操作系统4个字节; 64位系统8字节 - 多级指针 几级指针 就有几个"*", - 结构体 类似java中的class,关键字struct,结构体只能声明函数指针 - 结构体长度大于等于所有成员的长度,是最长的成员的长度的整数倍 - 枚举 - typedef **PS:由于从Android studio2.2版本开始,AS集成了CMake插件,使用AS开发支持C++的项目,更加方便。一切相关的配置如Android.mk,Application.mk这些配置都交给了CMake来处理,所以后面的jni开发的某些操作,在新的CMake操作下,就不需要了,详情可以查看[Android studio进行C++的NDK开发](https://www.kancloud.cn/alex_wsc/ndk-cpp/394446)**