《 android NDK 》C语言入门总结

本文是针对Android NDK开发的C语言入门总结,涵盖了C语言的编译过程、数据类型、指针的使用及其算术运算等方面。通过实例介绍了指针的声明、操作和与数组的关系,强调了指针在Android NDK开发中的重要性。
摘要由CSDN通过智能技术生成

 前言:

 2019 手机直播卖货火了起来,手机扫描文件,人脸识别等好多技术也越来越火。方便人们的技术以后会涉及生活的更多地方。因此,这种技术以后是种趋势,会需要很多研发人才。作为安卓开发者,选择音视频开发方向或者NDK是个不错的选择。而这个方向学习 c/c++ 是必须的,这里我们先学习c语言。

c语言入门

   1.C语言的编译过程:

  • 预处理 预处理阶段主要处理include和define等。它把#include包含进来的.h 文件插入到#include所在的位置,把源程序中使用到的用#define定义的宏用实际的字符串代替
  • 编译 编译阶段,编译器检查代码的规范性、语法错误等,检查无误后,编译器把代码翻译成汇编语言
  • 汇编 汇编阶段把 .s文件翻译成二进制机器指令文件.o,这个阶段接收.c, .i, .s的文件都没有问题
  • 链接 链接阶段,链接的是其余的函数库,比如我们自己编写的c/c++文件中用到了三方的函数库,在连接阶段就需要连接三方函数库,如果连接不到就会报错

       可以通过以下命令进行操作分布实现 :

// 将导入所有的.h文件(包括.h中引用的文件)
// #define定义的宏用实际的字符串代替
gcc -E main.c -o main.i

//检查代码的正确性
//编译成汇编语言
gcc -s main.i -o main.s

//将汇编语言翻译成二进制机器码
gcc -c main.s -o main.o

// 添加 我们引用的所有 静态库(.a)
gcc main.o -o main.exe

   2.数据类型

        整数类型 

       上表是不同整数类型所占的存储大小和取值范围。这里需要我们注意的是:不同的编译器下,数据存储的大小可能不同。

        浮点型 

        以上就是整数和浮点数的存储大小和他们的精度,我们可以通过代码 sizeof 查看不同类型的存储大小。

    //char
    printf("char 的存储大小:%d\n", sizeof(char));
    printf("unsigned char 的存储大小:%d\n", sizeof(unsigned char));
    printf("signed char 的存储大小:%d\n", sizeof(signed char));

    //int
    printf("int 的存储大小:%d\n", sizeof(int));
    printf("unsigned int 的存储大小:%d\n", sizeof(unsigned int));
    printf("signed int 的存储大小:%d\n", sizeof(signed int));

    //short
    printf("short 的存储大小:%d\n", sizeof(short));
    printf("unsigned short 的存储大小:%d\n", sizeof(unsigned short));
    printf("signed short 的存储大小:%d\n", sizeof(signed short));

    //long (这里还有个 long long)
    printf("long 的存储大小:%d\n", sizeof(long));
    printf("unsigned long 的存储大小:%d\n", sizeof(unsigned long));
    printf("signed long 的存储大小:%d\n", sizeof(signed long));
    printf("long long 的存储大小:%d\n", sizeof(long long));

    //double
    printf("double 的存储大小:%d\n", sizeof(double));
    printf("double 最大值:%e\n", DBL_MAX);  //  #include <floa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值