
c和c++
old_boy_1991
这个作者很懒,什么都没留下…
展开
-
谈谈malloc()和free()
谈谈malloc()和free()对于串的顺序存储,有些需要补充说明。串值的存储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做“堆”。这个堆可由C语言的动态分配函数malloc()和free()来管理。那么今天就来点题外话,谈谈malloc()和free()malloc()和free()的基本概念以及基本用法1. 函数原型及说明:转载 2014-07-15 18:35:38 · 390 阅读 · 0 评论 -
C语言 gets()和scanf()函数的区别
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用__gets__函数。gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。char string[15]; gets(string); /*遇到回车认为输入结束*/scanf("%s",string)原创 2014-09-30 22:55:57 · 709 阅读 · 0 评论 -
C++运算符重载讲解与经典实例
C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如: class complex { public: complex(double r=0.0,double I=0.0){real=r;imag=I;} void display(); private: double real; dou转载 2014-09-02 20:24:49 · 396 阅读 · 0 评论 -
const引用参数
在C++中,很多时候不希望函数调用时使用值传递(这样做需要得到实参的一个拷贝,降低了效率),而使用引用参数(引用本质上就是指针)。由于对引用参数值的改变就是对实参值的改变,有时候不希望改变实参的值,为了防止出错,而使用const 引用参数。这样既有引用参数的效率,而又不会改变实参的值。 例如:一个int型的容器,求出它的平均值得运算就不需要改变容器而元素的值。 可以这样做:int me原创 2014-09-02 20:20:07 · 531 阅读 · 0 评论 -
C printf 格式输出
C语言中printf 格式输出Technorati 标签: c,printf,输出格式 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////转载 2014-08-18 21:49:17 · 1072 阅读 · 0 评论 -
STL map用法详解
原文地址:说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。 一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供转载 2014-08-28 21:29:22 · 382 阅读 · 0 评论 -
(转)函数后面加const
参考:http://blog.163.com/tieying5566@126/blog/static/64215171201041194642649/原创 2014-09-06 12:51:14 · 442 阅读 · 0 评论 -
memset的使用
1. void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2. 例子#includevoid main(){char *s="Golden Global View";clrscr();memset(s,'G',6);printf("%s",s)转载 2014-07-07 21:05:25 · 373 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因转载 2014-07-07 20:51:58 · 370 阅读 · 0 评论 -
c语言中double类型数据的输入和输出
执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将float型的参数转换成double型。 故double型的输入输出形式如下:double a;scanf("%lf",&a);printf("%f",a);转载 2014-07-06 13:08:51 · 84137 阅读 · 2 评论 -
while( *p++ ); 和while( *p ) {p++;}的区别
区别在于退出循环后, p的值不一样while( *p++ ); //当*p=0时,退出循环,此时p++仍然执行了while( *p ) p++; //当*p=0时,退出循环,此时p++不再被执行例如 char *p="ABCD"; 执行完第一个while循环后,p指向的是'\0'后面的一个字节,*p的结果是未知的而如果是执行第二个循环,则p指向的是'\0',转载 2014-07-07 10:47:59 · 3898 阅读 · 0 评论 -
const在c和c++中的区别
error: variable-sized object may not be initialized const在C,尤其是C++,是个老生常谈的问题,但这里不谈const具体有哪些特性,如何使用,而是说说const在C和C++中的区别。编译器,C使用gcc,C++使用g++,其它编译器(cl等)请自行验证。 在我的印象中,const就是常量(constant)。但这并不转载 2014-07-02 08:56:59 · 1009 阅读 · 0 评论 -
c++ string操作
1、string类的构造函数eg:string(const char *s); // 用c字符串初始化string(int n, char c); // 用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1; string s2 = “hello”; 都是正确写法。当构造的string太长而无法表达时会抛出length转载 2014-07-23 00:07:45 · 422 阅读 · 0 评论 -
用printf输出string类型数据总结
#include #include using namespace std;int main(){ string a; a[0]='a'; a[1]='/0'; printf("%s/n",a); system("pause");}出错: [Warning] cannot pass objects of non-POD typ转载 2014-07-20 18:05:42 · 3063 阅读 · 0 评论 -
C 风格字符串,C++string类,MFC,CString类的区别。
字符串,顾名思义是由字符组成的字符串,在标准C,标准C++,MFC中 字符串这一功能的实现是不相同的,C++完全兼容了C。1. 标准C中的字符串 在标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。例如: char name[26]="This is a C-style string"; 或者转载 2014-07-20 17:16:39 · 412 阅读 · 0 评论 -
使用c++中string类的注意事项
1. 头文件是, 需要加上using namespace std;2.原创 2014-07-20 18:00:27 · 614 阅读 · 0 评论 -
C++中指针和引用的区别
下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别转载 2014-10-18 14:40:32 · 734 阅读 · 1 评论