美文网首页
1-ndk学习之c基础篇(2)

1-ndk学习之c基础篇(2)

作者: ftd黑马 | 来源:发表于2020-01-09 14:45 被阅读0次

通过上篇文章c语言的基本数据类型等的学习,发现其实c语言和java也有点大同小异,但是要知道,java是跨平台的编程语言,而c无法做到像java这样智能的跨平台,所以如果在多个平台运行c语言,就会造成不同程度的平台差异性,为了准确明确的看代码,其实可以这样写:

这样定义的话,需要添加头文件#include <stdint.h>,可读性增强;

#pragma once // 代表头文件只会引入一次(项目中一般都会加这句)


大家都知道,java中万物皆对象,在c语言中,其实万物皆指针。在c语言中,指针就是具体所指向的内存地址,指针有3种定义方式:

int* p;

int * p2;

int  *p3;(标准)

&:这个符号意味着取其内存地址;

*:这个符号意味着取其内存地址对应的值(也就是指针对应的值)

当初大学上课时,有一道很经典的题目,就是交换两个数,在java中直接定义一个temp变量交换即可,实际上在c中这样交换不了,必须通过指针的方式进行交换,因为在c中,每个函数都有自己的有限域(我自己是这么理解的,函数间传递传值是传递不了的,必须传递指针),

一级指针真的理解了,多级指针其实都一样,我感觉也布怎么用到多级指针,哈哈(不过可以装逼,代码高大上)


c语言的可变参数函数,我个人把它理解为类似于安卓解析xml的写法,一个标签一个标签类似的。


指针函数:就是指向函数的指针


预处理器:预处理并不是在编译时期,而是在准备前的一个工作范围内工作的而已,预处理器可以完成在准备工作的时候,替换文本来完成特点的需求

作用:例如:C 和C++ 平台的判断操作, 或者, 某一部分代码不想去执行,又不去注释,就可以采用这种方式

预处理器一般结合宏使用,宏就相当于java中的全局变量

 宏:主要分为两种,一种是宏变量,一种是宏函数;可以完成文本替换,在预编译的时候,把宏的具体值 替换到 变量使用宏的地方

宏函数的优点:本质是执行文本替换,每一个使用到宏函数的地方,都会执行替换操作,  这就意味着不需要调用到函数(就不会 开辟函数空间,靠谱栈区,函数等操作)

宏函数的缺点:1.所谓的优点也正好对应了缺点:由于在文本替换,会造成 体积增大 等缺点;2.不会执行对代码的检查,所以容易写错

谢谢观看,有不对或者不详细的地方希望大家在评论区提出宝贵的意见。

相关文章

网友评论

      本文标题:1-ndk学习之c基础篇(2)

      本文链接:https://www.haomeiwen.com/subject/ybsyactx.html