C基础
angelia_linda
这个作者很懒,什么都没留下…
展开
-
函数返回数组指针例程
因为你的局部变量是存储在栈中的,函数结束返回的时候,栈顶会下移,在x86的表现是ebp和esp被回复成调用前的值,而对调用函数之前在栈中的内存内容并不做修改,这时你从函数中返回的指针指向的内存没有任何变化,所以你直接访问的时候还会得到那个值(这里很可能是prinft使用栈是没有增长到a[1]指向的地址),如果你在函数返回后立即调用另一个函数,那么该指针地址指向的地方可能被改变,这是该位置的值就未定转载 2013-10-20 23:37:51 · 543 阅读 · 0 评论 -
二分查找各种情况大总结
http://blog.csdn.net/yefengzhichen/article/details/52372407二分查找多次刷题时遇到,虽然每次也能写对,但花了蛮多时间,没好好想过。而且网上的太多版本,并不是很简洁,而且边界条件变化情况太多,容易混淆,下面是自己对二分查找的一些思考和总结,尽量写得简单易懂。三种基本版本:1.1 二分查找原始版--查找某转载 2017-05-06 14:51:25 · 449 阅读 · 1 评论 -
原码、反码、补码以及为什么要用反码和补码
原始博文网址,无意侵权,只是想记下来以后复习的时候方便,http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数,机器数是带符号的,在计算机中用一个数的最高位存放符号,正数为0,负数为1,比如,十进制中的+3,假设计算机字长为8位,转换成二进制就转载 2017-04-15 13:49:40 · 724 阅读 · 0 评论 -
c程序的编译 汇编.连接过程
GCC处理一个文件的过程你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的可执行文件中加入了什么?可能会加入各种后门和木马.Ken Thompson是一个著名的黑客,他编写了一个编译器,当编译器编译自己时,就在'login'程序中留下后门和永久的木马.请到[/color=blue] 这里 [/color]阅读他对这个杰作的描述.幸运的是,我们有了gcc.当你进行 co转载 2013-11-11 19:58:21 · 846 阅读 · 0 评论 -
C程序编译执行过程
认识C编译执行过程,是C学习的开端。简单说C语言从编码编译到执行要经历一下过程: C源代码编译---->形成目标代码,目标代码是在目标机器上运行的代码。连接---->将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序)。执行----->在特定的机器环境下运行C程序。 如果用一个图 来表示: 以上转载 2013-11-11 20:00:20 · 474 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的转载 2013-11-10 14:18:51 · 406 阅读 · 0 评论 -
gcc和g++的区别
误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的转载 2013-11-16 22:39:11 · 467 阅读 · 0 评论 -
gcc与g++
gcc与g++Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断转载 2013-11-16 22:37:09 · 606 阅读 · 0 评论 -
关于线程的一些东东
1、linux中的中主要用的是进程,对线程的操作优势不如windows2、主要以pthread_开头,在用gcc来build时要加上-lpthread选项。3、头文件在4、一个进程中的大部分东西都是多个线程共享的,但是一下东西在每个线程是独立的:线程id号,寄存器集合,用于保存局部变量和返回地址的堆栈,errno,信号掩码,运行的优先级。5、5个函数:a、i转载 2013-10-23 11:40:45 · 489 阅读 · 0 评论 -
[转帖] 一些算法刷题的网站
1. leetcode http://leetcode.com/ 2. careerup http://www.careercup.com/http://hawstein.com/posts/ctci-solutions-contents.html 3. glassdoorhttp://www.glassdoor.com/index.转载 2017-05-09 15:12:02 · 745 阅读 · 0 评论