posted @ 2011-04-09 17:26
随笔分类 - C++学习
摘要:根据ANSI C标准的赋值约束条件: 1. 两个操作数都是指向有限定符或无限定符的相容类型的指针。 2. 左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。一、const char*和char* const char*的类型是:“指向一个具有const限定符的char类型的指针”。(不能修改其值) char*的类型是:“指向一个char类型的指针”。 因此const char*和char*都是指向char类型的指针,只不过const char*指向的char类型是const的。 因此对于代码:char* src;const char* dest ;dest = src; 这样赋值是正
阅读全文
摘要:一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆(heap):由malloc,new等分配的空间的地址,地址由低向高增长(程序员释放)。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 栈(stack):是自动分配变量,以及函数调用所使用的一些空间(所谓的局部变量),地址由高向低减少; 3、全局区(静态区)(static)— 全局变量和静态变量的存储是放在一块的,初.
阅读全文
posted @ 2011-04-08 23:25
摘要:Linux 环境下当GCC版本比较高时,编译代码可能出现的问题问题是这样产生的,先看这个函数原型:void someFunc(char *someStr);再看这个函数调用:someFunc("I'm a string!");把这两个东西组合起来,用最新的g++编译一下就会得到标题中的警告。为什么呢?原来char *背后的含义是:给我个字符串,我要修改它。而理论上,我们传给函数的字面常量是没法被修改的。所以说,比较和理的办法是把参数类型修改为const char *。这个类型说背后的含义是:给我个字符串,我只要读取它。很自然的延伸一下。 如果我既要传字面常量又要传字
阅读全文
posted @ 2011-04-08 20:38
摘要:对于刚刚接触DirectShow的人来说,安装配置是一个令人头疼的问题,经常出现的情况是最基本的 baseclass 就无法编译。一开始我也为此费了很大的功夫,比如说修改代码、修改编译选项使其编译通过。因为大家 Visual Studio 的版本与DirectShow的版本各不相同,导致问题多种多样。网上的参考也不可尽信,往往花费了大量的时间和精力,程序仍没有编译通过,而丧失学习DirectSho...
阅读全文
posted @ 2009-10-20 20:50
摘要:函数名: fread 功 能: 从一个流中读数据 用 法: int fread(void *ptr, int size, int nitems, FILE *stream); 程序例: #include <string.h> #include <stdio.h> int main(void) { FILE *stream; char msg[] = "this is a...
阅读全文
posted @ 2009-10-10 19:32
摘要:#include /************************************************************************/// //作者:flyingleaf////作用:简单测试printf的类型,主要是帮mm查看那些变态的printf参数////日期:2004-12-27////试验工具:vc7.0///**********************...
阅读全文
posted @ 2009-10-10 19:26
摘要:fprintf 是对于文件的操作 #include <stdio.h> #include <process.h> FILE *stream; void main( void ) { int i = 10; double fp = 1.5; char s[] = "this is a string"; char c = '\n'; stream = fopen( "fp...
阅读全文
posted @ 2009-10-10 15:56
浙公网安备 33010602011771号