c语言基础
WitsMakeMen
这个作者很懒,什么都没留下…
展开
-
c内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式转载 2013-12-29 12:35:18 · 1169 阅读 · 0 评论 -
linux下c程序调试
使用GCC编译器对c程序进行编译。先用vim写一个简单的c程序 命名为a.c(此次的后缀名如果不是.c的话还需要另一个处理参数,后边会说)打开终端进入a.c所在目录1. 首先将代码编译成可执行的文件:gcc a.c2. 查看已经编译的文件:ls显示 a.c a.out(这里是因为我们没有指定输出文件名,系统默认为a.out)3. 对文转载 2013-12-29 22:29:20 · 6846 阅读 · 1 评论 -
c语言一个语句中多个函数执行的顺序
已printf为例:如printf("min = %d , topV = %d\n", min(&mystack), pop(&mystack));执行顺序是先执行pop,然后在执行min如果pop的执行会影响min,例如pop的同时会把当前Stack的最小值也弹出,而你又想得到得到当前Stack的最小值,而不是弹出后Stack的最小值,最好让min在右边:像这样printf("t原创 2014-01-01 14:31:19 · 7341 阅读 · 0 评论 -
c语言main函数之前不能编写可执行代码
这两天用结构模拟面向对象的方法在C语言中编写硬件的驱动程序,涉及到多文件的变量的初始化问题。如下: 在DS1302.h中定义了一个结构: typedef struct{ void (*fun1); void (*fun2); }DS1302_T; extern DS1302_T ds1转载 2014-01-01 12:14:41 · 1709 阅读 · 0 评论 -
c程序运行原理简介
本文从一个最简单C程序(hello)是如何被编译和链接讲起,描述了一个程序运行的原理。一、程序运行之前使用IDE(集成开发环境)的朋友们经常会有这样的疑问:代码是怎么从一个文本文件变成可执行程序的呢?代码毕竟不是咒语,一个c程序在被运行之前其实经过了四个步骤,两次编译,汇编和链接。1.预编译这里我们只需要知道有一个叫预处理器(preprocessor也称预编译器)的转载 2013-12-29 13:25:10 · 11618 阅读 · 0 评论 -
设计包含min函数的栈
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。注:这是06年一道Google的面试题. 先来说个常规解和他的一个优化,常规解的时间复杂度符合要求,但需要线性的额外空间.常规解(参考 http://zhedahht.blog.163.com/blog/static/254111原创 2013-12-30 23:40:34 · 984 阅读 · 0 评论 -
找出最大子数组
求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。#include struct su原创 2014-01-01 23:49:19 · 3088 阅读 · 0 评论