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

c版本与c++版本的动态数组代码

C版本:
vim stash.h
#ifndef STASH_H
#define STASH_H
typedef struct STASHTag {
  int size;  /* Size of each space */
  int quantity; /* Number of storage spaces */
  int next; /* Next empty space */
  /* Dynamically allocated array of bytes: */
  unsigned char* storage;
} Stash;
void initialize(Stash* S, int Size);
void cleanup(Stash* S);
int add(Stash* S, void* element);
void* fetch(Stash* S, int index);
int count(Stash* S);
void inflate(Stash* S, int increase);
#endif //STASH_H
vim stash.c
/* Error testing macros: */
#include <assert.h>
/* Dynamic memory allocation functions: */
#include <stdlib.h>
#include <string.h> /* memcpy() */
#include <stdio.h>
#include "stash.h"
#define STEP 10
void initialize(Stash* S, int Size) {
  S->size = Size;
  S->quantity = 0;
  S->storage = 0;
  S->next = 0;
}
void cleanup(Stash* S) {
  if(S->storage) {
     puts("freeing storage");
     free(S->storage);
  }
}
int add(Stash* S, void* element) {
  /* enough space left? */
  if(S->next >= S->quantity)
    inflate(S, STEP);
  /* Copy element into storage,
  starting at next empty space: */
  memcpy(&(S->storage[S->next * S->size]),
      element, S->size);
  S->next++;
  return(S->next - 1); /* Index number */
}
void* fetch(Stash* S, int index) {
  if(index >= S->next || index < 0)
    return 0;  /* Not out of bounds? */
  /* Produce pointer to desired element: */
 // return &(S->storage[index * S->size]);
  return (S->storage+index*S->size);
}
int count(Stash* S) {
  /* Number of elements in stash */
  return S->next;
}
void inflate(Stash* S, int increase) {
  void* v =
    realloc


相关文档:

关于AES算法 JAVA同C++互解(AES)

关于加解密JAVA一般使用的JCE,关于C++可以实现AES加解密的开源项目就多的数不胜数的。
理论上上算法一样,对称密钥一样就能够互相识别了。
相信很多人开始想法都同我一样,起初我JAVA用JCE,C++使用openssl。
结果发现加密出的密文完全不相同。
出现问题就要解决
了解了一下JCE:
      JC ......

C Traps and Pitfalls 随笔

C陷阱于缺陷这本书到图书馆借了很久,一直都没有细细的看,现完整的看了之后把认为重要的,一般人可能忽视的问题给做了笔记,希望有所帮助
2010.02.25
二维数组:
int calendar[12][31];
int * p;
int i;
calendar[4]的含义:
calendar[4]是calendar数组的第5个元素,是calendar数组中12个有着31个整型元素的数组之一 ......

简述C和C++程序员学习历程

简述C和C++程序员学习历程
收藏



< type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
......

delphi调用VC++6的DLL

1、保证你传递的参数要正确:C++中的char *对应PASCAL中的pchar。
2:C++中导出的函数的参数调用方式要和你DELPHI中的导入的函数参数调用方式要一致!
 例如:    C++的参数调用方式           对应的DELPHI的参数调用方式
           _declspec ......

VC++中操作XML(MFC、SDK)

VC++中操作XML(MFC、SDK)
2009年01月07日 星期三 22:33
XML在Win32程序方面应该没有在Web方面应用得多,很多
Win32程序也只是用XML来存存配置信息而已,而且没有足够
的好处的话还不如用 ini。VC++里操作XML有两个库可以用:
MSXML和XmlLite。MSXML又细分了两种接口:DOM和SAX2。XP没自带有 XmlLite,只自带有2.x、3 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号