![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/C 基础编程
文章平均质量分 68
cxyol
这个作者很懒,什么都没留下…
展开
-
由朗讯的一道笔试题想到的!
这几天做了一份朗讯的笔试题,想到了struct 的对齐问题,总结出来与大家共享。1.面试题:typedef union student { char name[10]; long sno; char sex; float score [4]; } STU; main () { STU a[5]; printf(“%d/n原创 2005-09-25 09:09:00 · 2656 阅读 · 2 评论 -
从面向对象到模式再到真正的面向对象
(译序:本文摘自Design Patterns Explained: A New Perspective on Object-Oriented Design一书的前言部分。通过本文,读者可以大概了解学习设计模式的过程和效果。同时,作者谦虚谨慎的态度也是非常值得我们中国软件开发者学习的。译者保留本文一切权利。如果需要将本文用于非营利性目的,请E-mail通知我:gigix@263.net)这本书的很转载 2006-03-21 18:18:00 · 1324 阅读 · 0 评论 -
C++编译器的比较
关于c++的编译器现在有很多,各有所长。不可能每个人都全部用过。 我想统计一下现在的主流编译器都有什么。linux,windows,dos下的什么编译器最流行,也最好!请各位发表意见并给出你所用的编译器的好处。 --------------------------------------------------------------- 我主要从事windows下的编程,所以我一般用vc编译,毕竟转载 2006-03-21 18:21:00 · 7568 阅读 · 3 评论 -
转换二叉树与广义表(C语言版)[二叉树的定义]
转换二叉树与广义表(C语言版)[二叉树的定义]//定义二叉树结点结构和操作的头文件btree1.h//定义二叉树结点值的类型为字符型 typedef char ElemType;//定义二叉树结点类型 struct BTreeNode { ElemType data; BTreeNode* left; BTreeNode* right原创 2006-03-24 19:27:00 · 8300 阅读 · 0 评论 -
关于const的笔记
今天让指针常量,常量指针的说法搞糊涂了,原理明白,但是叫法上的区分糊涂呵呵!const是C特别是C++中经常遇到的东西,能灵活的运用可以体现你的CC++的水平。1. 常量和预编译 我们都知道在C中用到常量往往是通过预编译来实现,但是这样最大的缺点是不能够进行类型检查,使用const修饰变量就可以客服这样的缺点。 常量在定义时必须初始化,除非它是extern2. con原创 2006-03-25 11:12:00 · 2428 阅读 · 2 评论 -
C/C++中八进制数的表达方法
C/C++中八进制数的表达方法1.八进制数的表达方法C/C++语言中,如何表达一个八进制数呢?如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。所以, C/C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123...原创 2006-03-24 19:20:00 · 36954 阅读 · 2 评论 -
对while语句的误解
今天碰到这样一个问题:#include int main(){ int i = -1; while(i++) { cout } return 0;}问:输出结果是什么? 1. 死循环 2. hello world 一直以为while(表达式)中表达式为true时才执行循环体。所以觉得没有答案,应该时什么也不输出,因为 i=-1原创 2006-03-03 16:26:00 · 1845 阅读 · 3 评论 -
VC++中进程间相互通信的十一种方法
VC++中进程间相互通信的十一种方法 出处:转载 2006-08-26 10:28:00 · 1434 阅读 · 0 评论 -
数据类型转换
实际应用中,可能看到了很多的强制类型转换, 基本类型之间的,基本类型与指针之间的。 这里面有一个根本的原因:变量也好(非指针),指针也罢,它们只不过内存地址或者内容的一个符号而已。一般的类型转换不安全是因为你根本不知道你转换后的样子,那么就会有非法存取内存。特别是指针类型的转换。 然而,当你很明确你在使用的内存的数据结构时,(典型的就是文件的映射到内存后),你怎么原创 2006-09-01 13:11:00 · 1304 阅读 · 0 评论 -
C2059 Error Using extern "C" in .C Source Files
C2059 Error Using extern "C" in .C Source FilesThe information to this article applies to: The Microsoft C/C++ Compiler included with: - Microsoft Visual C++, 32-bit Edition, versions 2.0, 2.1, 2.2,原创 2006-10-20 14:52:00 · 2834 阅读 · 0 评论 -
C语言中的位运算
在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能, 这使得C语言也能像汇编语言一样用来编写系统程序。━━━━━━━━━━━━━━━━━━━━━━━━━━━━操作符 作用────────────────────────────& 位逻辑与| 位逻辑或^ 位逻辑异或- 位逻辑反>> 右移<< 左移━━━...原创 2006-03-21 20:39:00 · 32719 阅读 · 1 评论 -
Linux下C开发环境的构成和安装
本文介绍了Linux的C开发环境的构成和安装,使读者对Linux的C开发环境能有初步的了解。 你了解Linux吗?相信现在越来越多的人会说“是”的。那么你了解到何种程度呢?不可否认,目前决大多数的Linux用户对Linux的了解还处于比较低级的层次,他们可能会几条命令、会配几种服务、会用rpm来安装软件、会操作KDE/Gnome界机等等,但是当他们遇到一些需要编译安装的软件时,原创 2006-03-21 18:28:00 · 1160 阅读 · 0 评论 -
有关 sizeof和strlen的总结[原创,总结]
先看看sizeof()一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。其实可以简单的理解sizeof是征对"类型"的。二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(t原创 2006-01-08 15:41:00 · 9166 阅读 · 10 评论 -
C++中的运算符和计算顺序
C++中的运算符和计算顺序1.运算符和其优先级 优先级 运算符 结合律原创 2006-03-16 09:26:00 · 18013 阅读 · 3 评论 -
C++多态性:虚函数的调用原理
C++多态性:虚函数的调用原理多态性给我们带来了好处:多态使得我们可以通过基类的引用或指针来指明一个对象(包含其派生类的对象),当调用函数时可以自动判断调用的是哪个对象的函数。一个函数说明为虚函数,表明在继承的类中重载这个函数时,当调用这个函数时应当查看以确定调用哪个对象的这个函数。普通函数的处理:一个特定的函数都会映射到特定的代码,无论时编译阶段还是连接阶段,编译器都能计算出这个函数原创 2006-03-12 12:54:00 · 3732 阅读 · 0 评论 -
结构和联合的区别
1. 联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。 联合说明和联合变量定义与结构十分相似。其形式为: union 联合名{ 数据类型 成员名; 数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不原创 2006-03-21 18:12:00 · 12004 阅读 · 0 评论 -
C中数组的另类引用
在chinaunix中发现一个数组的另类引用方法,开始还不相信,尝试了一下,果然有效.首先看一段代码: 代码: #include int main() { int a[5]={1,2,3,4,5}; printf("%d/n",3[a]); re原创 2006-03-21 19:56:00 · 1306 阅读 · 1 评论 -
原码、反码、补码的总结
原码、反码、补码 数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转原创 2006-03-21 21:20:00 · 5577 阅读 · 7 评论 -
Linux上的C/C++编译器gcc/egcs详解
一.运行 gcc/egcs Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC能够编译三种语言:C、C++和ObjectC(C语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。 #DEMO#: hello.c 如果你有两个或少数几个C源文件,也可以方便地利用GCC编译、连接并生成可执行文件。例如,假设转载 2006-03-21 18:29:00 · 1099 阅读 · 0 评论 -
getch getche getchar的区别和缓冲区的概念
getch getche getchar的区别和缓冲区的概念 今天同学问我一个问题,.Net上编译C程序最后的结果总是一闪而过。记得有个函数能够实现其功能,于是分不清这几个函数之间的关系,总结一下。1.输入输出缓冲区的概念(C++用的多一些) 我想以一个例子说明,比如我想把一篇文章以字符序列的方式输出到计算机显示器屏幕上,那么我的程序内存作为数据源而显示器驱动程序作为数据目标...原创 2006-03-18 16:11:00 · 35150 阅读 · 14 评论 -
微软C/C++编译器选项
-优化-原创 2006-03-21 18:19:00 · 1522 阅读 · 0 评论 -
宏定义中的## 和#
定义一个宏:#define STRCPY(a, b) strcpy(a ## _p, #b) 1. 宏定义里面有个##表示把字符串联在一起。如:#include #define CAT(x,y) x##y int main() { printf("%s", CAT("hello", " world")); return 0;}2.原创 2007-10-18 15:44:00 · 1034 阅读 · 0 评论