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

通过上篇文章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.不会执行对代码的检查,所以容易写错

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 几种语言的特性 汇编程序:将汇编语言源程序翻译成目标程序编译程序:将高级语言源程序翻译成目标程序解释程序:将高级语...
    囊萤映雪的萤阅读 3,044评论 1 5
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,569评论 2 35
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 1,831评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,658评论 0 5
  • 高考失利
    justice_34b9阅读 74评论 0 0

友情链接更多精彩内容