
c/c++
nvd11
大龄程序员
展开
-
【转】makefile写法2
转自:目的: 基本掌握了make的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include #include "file2.h"原创 2013-04-02 00:51:51 · 632 阅读 · 0 评论 -
数据结构 - 直接插入排序法
数据结构 - 直接插入排序法。之前的博文已经介绍了 冒泡排序法 和 简单选择排序法. 其实上面两种的基本思路是一样的, 就是通过两层循环, 在每1个内循环中找到1个未排序的极值元素, 然后把这个元素移动到数组前列。但是这篇文章介绍的 直接插入排序法 的基本思路则与上面的排序方法不同, 而且可以讲 直接插入排序法 的算法更加直接人类大脑的思路。基本思路一个例子假设我们面前有几张牌|1|2|3|7|原创 2017-02-01 22:02:58 · 2014 阅读 · 0 评论 -
数据结构 - 冒泡排序法详解
数据结构 - 冒泡排序法原创 2017-01-24 23:36:39 · 9511 阅读 · 3 评论 -
linux c语言 fork() 和 exec 函数的简介和用法
假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在 这个头文件中包含了1个调用shell命令或者脚本的函数 system();直接把 shell命令作为参数传入 system函数就可以了, 的确很方便. 关于system 有一段这样的介绍: system 执行时内部会自动启用fork() 新建1个进程, 效率没有原创 2013-04-27 02:10:27 · 66426 阅读 · 7 评论 -
从内存分配角度分析c和java里的static 关键字.
即使作为Java的初学者, 对this 和 static 这两个关键字都不会陌生. 其实也不难理解: this 关键字: 指的是对象的本身(注意不是类本身) 跟.net 语言的Me 关键字类似. static 关键字: 静态分配的对象或对象成员. 也就是指被static 修饰的成员只属于类本身, 而不会想其他成员一样会对每个对象单独分配. 但是c语言也有st原创 2013-12-30 00:05:50 · 2938 阅读 · 1 评论 -
c语言位运算 求1个整数的二进制数有多少个1
今日见到1个函数, 它的作用是求1个整数的二进制数有多少个1. 函数如下:unsigned long fun(unsigned long x){ int count = 0 ; while(x) { count++; x = x & (x - 1); } return count;} 看了半小时才看懂, 关键是那个 x = x &原创 2013-05-07 01:27:48 · 2589 阅读 · 0 评论 -
C语言 利用malloc()和realloc()动态分配内存
1. C语言定义1个数组的时候, 必须同时指定它的长度.例如: int a[5]={1,2,3,4,5}; //合法int b[6]; //合法int c[]; //错误 因为没有指定长度但是下面语句是正确, 它隐形定义了数组的长度, 就是赋值元素的个数int d[] ={4,5,6,7,8,9} //合法 长度为62.原创 2013-04-02 00:58:16 · 4595 阅读 · 1 评论 -
C语言 跨函数使用内存.
1. 函数执行完成时,里面的局部静态变量所占的内存会被自动释放 首先看个简单的例子程序:#include int f(){ int j=20; return j;}int main(){ int i; i = f(); return 0;}可以见到上面 main函数 调用了f()函数, 而f()里面定原创 2013-04-02 00:58:18 · 2362 阅读 · 2 评论 -
linux GDB 简单用法以及例子
首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代码的工具, 肯定没有IDE来的直观了. 不过, 命令行自然有命令行的有点, 当你无法是使用IDE时, gdb有时会帮上很大的忙. 下面用1个例子来说明用法吧: 建立1个目录testgdb2 1. 编写c文件test.c#include #include int g_i;原创 2013-04-02 00:57:23 · 1047 阅读 · 0 评论 -
C语言 关于指针的格式化
写这篇文章时由于没有参考过什么权威资料教材,所以有些观点可能是错误的, 不过我本人都是经过大量调试后才写出来的啦..1. 内存由多个单位为8bit = 1byte的单元组成,每1个单元都配有1个编号,这个就是内存地址。 计算机的主存储器是内存,而不是硬盘,因为cpu只能直接访问内存... 而cpu访问内存是根据内存的编号来访问的,这个编号就是内存地址,cpu获得内原创 2013-04-02 00:58:03 · 1673 阅读 · 0 评论 -
int 类型的取值范围
大伙都知道int类型的 取值范围是 -2147483648 到 2147483647 那为什么不是 -2147483647 到 2147483648 呢? 因为int类型占4个byte, 就是32个bit 了, 而32个二进制位中最高位的那个一位是表示正负的。 所以原创 2013-04-02 00:58:05 · 1620 阅读 · 0 评论 -
【转】各进制转换
转自:http://www.d2school.com/bcyl/bhcpp/newls/ls06.htm?1342534982#6.2.5 第六章 二进制、八进制、十六进制 6.1 为什么需要八进制和十六进制? 6.2 二、八、十六进制数转换到十进制数 6.2.1 二进制数转换为十进原创 2013-04-02 00:52:47 · 1819 阅读 · 0 评论 -
【原创】设置头文件路径, gcc -I 选项写法
网上关于gcc -I 的教程好少,试左成晚终于试左出来。假如系目录 ~/testmake/下面有2个c文件同1个makefile: file1.c file2.c Makefile系另个目录 ~/testmake/headfiles/ 有1个头文件: file2.h其中file2.h内容为:#ifndef __FILE2_H_#define __FILE2_H_ void File2P原创 2013-04-02 00:51:57 · 894 阅读 · 0 评论 -
关于一维数组和二位数组的数组指针
1. 一维数组 c语言中, 数组占用的空间是一组连续的物理内存空间. 所以对于1维数组来讲,只需要知道数组头1个元素的地址, 就可以逐个地得出各个元素的值了.例子: 首先定义1个1维数字型数组, 并且赋值. int A[10]={10,1,2,3,4,5,6,7,8,9};原创 2013-04-02 00:57:25 · 1098 阅读 · 0 评论 -
C语言中, 有些时候数值名并不与指针等价.
以前已经都提过了, c语言中,数组名就是1个指向数组第1个元素地址的指针. 如数组char a[] = "bcd"; 数组名a 就是指向数组a[]的第1个元素a[0]的地址 所以*a==a[0]=='b' 当我们定义1个新的指针p,并给它赋值时: p=a;原创 2013-04-02 00:57:31 · 693 阅读 · 0 评论 -
c语言结构体介绍及用法
一,为什么要使用结构体 在语言中,为了表示一些复杂的数据, 而普通的基本变量类型无法满足要求。 例如要定义1个学生类型, 学生有3个属性 sid, name, age 那么在面向对象语言里(例如java),我们可以写1个类 Class Student { int sid;原创 2013-04-02 00:57:59 · 956 阅读 · 0 评论 -
[转]Linux C语言头文件搜索路径
转自:http://hi.baidu.com/ilonng/blog/item/a0232435fbcfb90490ef390d.html/cmtid/68d4ab7bbb8026fb0ad187be 本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢。在此之前,先了解一个基本概念。 头文件是一种文本文件,使用文原创 2013-04-02 00:51:49 · 928 阅读 · 0 评论 -
C 语言里的字符串---字符数组
////// 实际上, c中并没有字符串这种数据类型, 也就是说c是没有像java, .net等其他高级语言中常用的String类型. 首先要强调: a. c语言有无字符串? 有! b. c语言有无字符串类型 无! c. c语言字符串是否就是不是字符数组 是! b. c语言字符串和字符数组是同一样东原创 2013-04-02 00:57:29 · 1655 阅读 · 4 评论 -
数据结构 - 简单选择排序法
数据结构 - 简单选择排序法在之前的博文里已经介绍过排序的两个基本方法:双重循环法和冒泡排序法。基本思想其实上面两种方法的基本思想都是一样的:就是将排序步骤分成两层循环, 在内层的每1个循环中, 找出剩下未排序成员最小(大)的1个, 并将其放到队伍前列。只不过, 冒泡排序法的元素交换更具效率, 通常情况下会比双重循环法更快完成排序。这次介绍的简单选择法的本质也和上面两种方法一样的。冒泡(or 双层循原创 2017-01-31 22:52:53 · 1864 阅读 · 0 评论