美文网首页
Android开发学习——Day6(C语言之灵魂所在&学生信息系

Android开发学习——Day6(C语言之灵魂所在&学生信息系

作者: 明天_ff | 来源:发表于2019-08-03 20:42 被阅读0次

    学习目的

    1.指针和结构体

    2.实战:学生信息系统

    学习过程:

    指针被称为C语言的灵魂,认识并熟练运用指针是很有必要的。在学习完指针和结构体后,便可以着手开始写一个学生信息系统的程序,通过该项目实战能够将相关知识进行巩固。

    技术

    1.指针:和地址及内存密切相关,指针变量用来存储地址,通过指针可以进行间接访问。在我看来,指针和基本变量、函数均为表层使用,本质操作均是对于地址的。

    1)使用指针可以解决跨区域(不同作用域  不同代码块)之间的数据交互问题,例如某函数要操作某一数据,可不通过返回值而运用指针来实现。

    2)“*”符号在声明/定义变量的时候表示一个指针变量。

    3)“*”符号在使用是表示访问“*”内地址所代表的值。

    4)‘&’ 取某个变量的地址。

    5)指针变量本身在内存里面占据8个字节内存空间。

    eg:

    int a =1;   //定义普通变量

    int *p;       //定义指针变量

    p = &a;     //取a变量的地址,并将其赋值给p指针(指针指向a)

    *p = 2;      //采用简洁操作,更改a的值

    注意:1>定义指针变量的时候一定要给初值,不确定就给NULL,不能出现“野指针”;NULL指向内存的起始地址。

               2>指针变量只能存地址,不能存具体值,且指针存地址类型要与值类型相同。

               3>数组和指针的差别在于,数组定义后即分配好了存值内存空间,而指针仅有自身的内存空间并无存值内存空间,且数组名不是一个变量,没有分配内存空间。

    3.动态分配内存:自定义申请内存,常用函数为,malloc() realloc() free()

    代码实现--动态分配内存

    注意:自己分配的内存空间必须自己释放,用free函数;普通变量的内存是系统自己分配的,所以系统自己负责释放。

    4.结构体:是一种自定义的数据类型,可以包括多种基本数据类型。使用结构体可以解决某个变量含有多个描述参数的问题,比如,学生信息管理系统。

    代码实现--定义结构体

    5.文件操作:在之前写的程序中,存储的数据在下一次重启程序时会刷新重置,为了能二次使用程序数据,这里用文件操作来完成。

    代码实现--文件操作

    6.实战:学生信息系统

    感悟

    经过五天的C语言学习,我将大致的知识点系统的重塑了一遍,整理了一遍。在这个过程中,我发现,虽然困难重重,但是饶有乐趣,特别是苦思冥想许久的代码实现的那一瞬间。其实,知识的学习是其次的,更重要的是思维上的锻炼,这对后面的Android的开发是大有裨益的。C语言的航程已经告一段落,接下来,继续加油吧。

    相关文章

      网友评论

          本文标题:Android开发学习——Day6(C语言之灵魂所在&学生信息系

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