C/C++
流浪的侠客
还没有入行的程序猿,坚信自己能成为一个好的程序员。热爱运动旅行烹饪,是个有家天下情怀的青年。
展开
-
C变量定义和内存分配机制
变量的定义与初值首先要了解内存中的存储空间,内存中用户区的存储空间主要分为程序区、静态存储区、动态存储区。数据分别存放在静态存储区和动态存储区。静态存储区,主要存放全局变量和静态的局部变量。动态存储区存放的数据为:1 函数形式参数,在调用函数时给形参分配存储空间。2自动变量(未加static声明的局部变量)3函数调用时的现场保护和原创 2013-11-22 16:35:30 · 1722 阅读 · 0 评论 -
C++中引用(&)的用法和应用实例
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活转载 2014-10-23 15:30:40 · 746 阅读 · 0 评论 -
C笔记之基础知识
终于再一次把谭浩强的书看了一遍1.在.c文件中getch()函数没有问题 ,(但是也会有Warning提示)。若是在.cpp文件中写getch()函数,则会提示getch找不到(error提示)。 但是在.cpp文件和.c文件中写getchar()函数都是没有问题的。(getchar()在"stdio.h"标准输入输出函数库文件中,在有些C编译系统中,不显示包含"stdio.h"即#inc原创 2013-11-26 10:32:27 · 1338 阅读 · 0 评论 -
变量声明和定义的区别||变量存储类别小结(C程序设计中的内容)
我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。前原创 2013-11-24 18:21:33 · 1089 阅读 · 0 评论 -
C笔记之NULL和字符串结束符'\0'和EOF
一.NULLNULL是一个宏,它在几个标准头文件中定义,0是一个整型常量,'\0'是一个字符常量,而NUL是一个字符常量的名字。这几个术语都不可互换。1、NULL用于表示什么也不指向,也就是空指针((void *)0)2、0可以被用于任何地方,它是表示各种类型零值的符号并且编译器会挑出它3、'\0'应该只被用于结束字符串4、NULL没有被定义于C和C++,它原创 2013-12-01 21:25:32 · 10339 阅读 · 2 评论 -
C语言中的宏 #define
前言:熟悉C语言的朋友应该对宏不陌生, 宏在C语言程序开发中是经常使用的,使用其的主要目的是方便程序员的编程工作,并且能在一定程度上提高程序的效率。C语言中提供的宏定义命令是#define。下面就使用宏的几个小细节进行一些讨论。1,宏中使用()在宏中,尽量多使用(),不要觉得无所谓或者觉得使用不使用没有什么影响。请切记,在宏中尽量多使用(),这样才能尽量的保证你的宏原创 2014-04-21 16:07:34 · 1425 阅读 · 0 评论 -
java面试题inti=2;i+=i-=i*i的值以及关于i++;++i;i=i+1;i+=1 的效率问题
关于i++;++i;i=i+1;i+=1 的效率问题原创 2014-04-19 21:15:51 · 5584 阅读 · 0 评论 -
一道关于Linux系统下fork系统调用的面试题
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?转载 2014-04-21 15:56:03 · 1089 阅读 · 0 评论 -
Java与C++的比较
1.2.2 Java语言与C/C++语言的区别(全局变量、goto语句、指针、内存管理、数据类型的支持、类型转换、头文件、结构和联合、预处理)Java语言和C++都是面向对象的编程语言。对于变量声明、参数传递、操作符、流控制等,Java使用了和C/C++相同的风格,使得熟悉C/C++的程序员能很方便地进行编程。同时,Java为了实现其简单、健壮、安全等特性,也摒弃了C和C++中许多不合理的内原创 2014-04-03 17:11:24 · 1114 阅读 · 0 评论 -
如何判断单链表是否存在环
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰转载 2014-04-15 14:36:08 · 823 阅读 · 0 评论 -
字节流与位流的相互转换实现
字节流与位流的相互转换实现 引言:在项目开发中,我们会遇到字节流与比特流相互转换、逐字节、逐位操作的场景。没有现成的库供我们调用,需要我们自己实现之。一、字节流、位流介绍 【维基百科--字节流】:在计算机科学里面,字节流(byte stream)是一种位流,不过里面的比特被打包成一个个我们叫做字节(Bytes)的单位。 【字节流范例】:在转载 2013-12-25 00:29:04 · 1272 阅读 · 0 评论 -
C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
1. C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段 :数据段(data segment)通常是指用来存放程序中 已初始化 的 全局变量 的一块内原创 2013-11-21 22:14:54 · 1784 阅读 · 0 评论