Linux C语言基础
文章平均质量分 60
一个菜鸟程序员向嵌入式大门挺进的磕磕碰碰!
li_zs
这个作者很懒,什么都没留下…
展开
-
C语言单链表各操作源代码
C语言单链表各操作源代码/*my_list.h*//*author:lidata:13/08/13*/#ifndef MY_LIST_H_#define MY_LIST_H_typedef struct stu{ int num; char name[20]; struct stu* next;}stu_info;typedef stu_info* no原创 2013-08-14 20:50:35 · 1926 阅读 · 0 评论 -
C语言可变参数解析
C语言可变参数解析 C语言中有许多函数的参数个数是可变的,例如printf函数,它有printf("%d",a),printf("%d%d",a,b)等等,它的定义是这样的: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:原创 2013-08-10 10:47:28 · 1165 阅读 · 0 评论 -
Linux Makefile文件编写详细步骤与实践
Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若原创 2013-08-09 21:33:01 · 18221 阅读 · 2 评论 -
Linux C语言动态库及静态库的制作步骤讲解
Linux C语言动态库及静态库的制作讲解 假设在math目录下已编辑好add.c sub.c div.c mul.c func_point.c文件,func_point.c为主文件! 动态库的制作: 方法一:gcc -c -fPIC add.c sub.c div.c mul.c //-c表示生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关gc原创 2013-08-08 17:23:39 · 2128 阅读 · 0 评论 -
C语言变量内存分布
C语言变量内存分布 未初始化或初始化为0的全局变量和静态变量:.bss段 初始化(初始化不为0)的全局变量和静态变量:可读可写.data数据段; 局部变量,函数的形参:stack栈; const修饰的变量:只读.data数据段; 动态分配的空间:堆;原创 2013-08-08 10:08:19 · 1449 阅读 · 0 评论 -
C语言内存管理(数组,指针)
C语言内存管理 几个规则: 【规则1】用malloc或new申请内存后,应该立即检查指针是否为null.防止使用指针为null的内存。 【规则2】不要忘记为数组和动态内存赋初值。防止将未被初始化的内存作为值使用。 【规则3】避免数组或指针的下标越界,特别要小心发生“多1”或者“少1”的操作。 【规则4】动态内存的申请和释放必须配对,防止内存泄露。原创 2013-08-03 19:57:48 · 1476 阅读 · 0 评论 -
函数指针与指针函数的区别
函数指针与指针函数的区别 函数指针: 关键字为指针,不过其数据访问方式为一类函数。 如:int (*math)(int,int);定义了一个指针math,它的数据访问方式为返回值为int,形参为(int,int)的一类函数。我们可以把这类函数的函数名赋值给math,这样math指针就指向了这个函数,你就可以通过(*math)(int,int)调用这个函数。代码如下:#in原创 2013-08-03 10:56:27 · 935 阅读 · 0 评论 -
C语言 typedef用法
C语言 typedef用法 由于前几天没网,并没有把前十天的学习情况写入博客! typedef:为一个现有类型创建一个别名,并不是创建新类型。可以隐藏笨拙的语法构造以及平台相关的数据类型。这样就增强了程序的可移植性与可维护性。 1.创建易于记忆的类型名。typedef int sizesize a;相当于int a; 2.掩饰符合类型,常用于指针与数组。ty原创 2013-08-03 10:23:52 · 1215 阅读 · 0 评论