易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++内存分配


#include <iostream>
using namespace std;
void main()
{
 char *p,*q;
 p = "abcde";
 q = p + 3;
 *q = 't';
 cout<<p<<endl;
 cout<<q<<endl;
}
两种语言编译都可以通过
当执行到
 *q = 't';
时,C++程序出现内存访问错误,C程序可以运行,并且把第四个内存单元置换为t
C++编译器在编译过程中,给"abcde"分配了常量区的内存单元,常量区的内存单元在运行时无法修改,因此试图对常量区的操作会产生异常。


相关文档:

C/C++/VC MFC char & int study

测试代码一(VC6.0、C-code):
#include <stdio.h>
void main()
{
 int aa;
 unsigned char j1,j2;
 aa=j1=j2=0;
 aa=49;
 j1=aa;
 printf("j1=%d \n",j1);
 j2=aa;
 printf("j2=%c \n",j2);
}
【分析】:
[1]正如所想象的输出结果:
    j1 ......

C/C++面试题


1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx
++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&l ......

一个C++调用C的例子

//cExample.h
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
#ifdef __cplusplus
extern "C"
{
#endif
int add(int x, int y);
#ifdef __cplusplus
}
#endif
#endif
---------------------------------
//cExample.c
#include"cExample.h"
int add(int x, int y)
{
 return x + y;
}
----------------- ......

VC++与Java

VC++与Java
Visual C++ 6.0是微软非常经典的调试工具,本人非常喜欢。不知不觉学了MFC,花了不少时间与银子,感觉MFC真的是博大精深,就像一种非常高深的武功,就像太极,入门难。java像武当。Visual C++需要比较深厚的内功才能修炼好,不过java学好了也不错,不管学哪个,最终的境界都是刚柔相济。武功如此,编程语言开发 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号