C
文章平均质量分 82
JK27
与其做一株绿洲中的小草还不如做一棵秃丘中的橡树因为小草千篇一律毫无个性而橡树高大 挺拔昂首天穹
展开
-
C语言结构体 —— sizeof(struct)
这个内容也是很重要的一个,所以,这里对一些问题和规律做一个总结。涉及到的几个概念:内存对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:原创 2014-02-24 16:53:53 · 2200 阅读 · 0 评论 -
C语言的内存分配(参考)
为了说明这个问题,我们首先来看看一个例子:char *returnStr(){ char *s = "abcdef"; return s;}char *returnArr(){ char a[] = "abcdef"; return a;}void main(){ printf("%s\n", returnStr());原创 2014-02-25 19:24:37 · 794 阅读 · 0 评论 -
C语言的内存分配(参考)
为了说明这个问题,我们首先来看看一个例子:char *returnStr(){ char *s = "abcdef"; return s;}char *returnArr(){ char a[] = "abcdef"; return a;}void main(){ printf("%s\n", returnStr());原创 2014-02-25 22:15:53 · 1078 阅读 · 4 评论 -
C语言 — 解决随机函数产生相同数字的问题
我们有时候会用随机函数来产生随机数字,如下:UINT randomArr = {0, 0, 0, 0, 0, 0} EBool redBallBool = EBool_True; /* generate a seed of random() */ srand((UINT)time(NULL)); for (i=0; i<n原创 2014-02-28 16:01:10 · 2127 阅读 · 0 评论 -
C语言 — 函数调用过程。
本文从代码的角度来理解一下函数调用过程。看例子:#include int add(); int main() { int sum = 0; sum = add(1, 2, 3); printf("%d\n", sum); return 0;原创 2014-03-12 11:04:01 · 874 阅读 · 0 评论 -
Linux开发工具 — readelf、objdump、hexdump。
本博文的主要内容是:1)readelf工具查看ELF文件的信息;2)hexdump工具查看这块内存;3)objdump工具对文件进行反汇编。前一段时间对Linux不熟,所以很多命令不知道。学习C时候需要偶尔看一下汇编用来理解。我喜欢用问题的形式来学习和总结。1. 如何看一个程序代码变量的存储布局? 这个问题在查看C代码中的一些关键字的作用很有效。如:const、st原创 2014-03-09 22:35:03 · 2508 阅读 · 0 评论 -
C语言 —— 内存分配及内存释放
在使用内存的过程中,很多时候问题并不在于管理指针,而在于管理它们指向的内存。还是从问题着手来总结。1. 有时候我们的一个函数本该返回一个字符串,但当它返回调用者的时候,放回的字符串却是乱码。 这个涉及到了函数调用栈。 任何时候,拖函数返回指针,必须却好它指向的内存已经正确分配了。返回的指针可以指向静态分配的、调用者传入的或者通过malloc获得的缓冲原创 2014-04-22 14:36:10 · 1489 阅读 · 0 评论 -
c语言 —— 指针与数组
数组和指针的关系比较密切,这里再总结一下这个知识点。由问题引入话题:1. char a[] 和char *a等价吗? 不是。 数组定义char a[6]请求预留6个字符的位置,并用名称a表示。也即:有一个用a标识的位置,可以放入6个字符。 而指针声明char *p :请求一个位置放置一个指针,用名称p表示。这个指针可以指向任何字符或任何连续的字原创 2014-04-22 14:45:48 · 831 阅读 · 0 评论 -
Linux下DIR,dirent,stat等结构体详解
摘要: 最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。 DIR结构体类似于FILE,是一个内部结构,以下几个函数用这个内部结构保存当前正在被读取的目录的有关信息(摘自《UNIX环境高级编程(第二版)》)。函数 DIR *opendir(const char *pathname),即打开文件目录,返回的就是指向DI转载 2015-01-28 16:42:57 · 573 阅读 · 0 评论