好像有所感悟 先操作看看 。。。
非常感谢。。。
										
					
	
	
	
	      非常感谢。。。
 2012-07-10 00:11
	    2012-07-10 00:11
   2012-07-10 21:27
	    2012-07-10 21:27
   2012-07-10 21:47
	    2012-07-10 21:47
   2012-07-10 21:59
	    2012-07-10 21:59
  
 2012-07-10 23:22
	    2012-07-10 23:22
   程序代码:
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
const size_t blockSize = 10 * sizeof(char);         // 行大小
const size_t memorySize = 2 * blockSize;            // 2行的二维数组
void ShowMemory(const char* p, size_t size);
void main(void)
{
    char* memoryPtr = (char*) malloc(memorySize);                        // 动态申请内存
    memset(memoryPtr, 0, memorySize);                                    // 将申请所得内存用0填充
    ShowMemory(memoryPtr, memorySize);
    putchar('\n');
    printf_s("Press any key to continue...\n\n");
    _getch();
    const char str1[] = "Hello";
    const char str2[] = "world!";
    int rowIndex = 0;                                                    // 行号
    strcpy_s(memoryPtr + rowIndex * blockSize, sizeof(str1), str1);      // 将字符串str1复制到二维数组第0行
    ++rowIndex;
    strcpy_s(memoryPtr + rowIndex * blockSize, sizeof(str2), str2);      // 将字符串str2复制到二维数组第1行
    ShowMemory(memoryPtr, memorySize);                                   // 观察内存块数据
    putchar('\n');
    printf_s("%s %s %s\n",
        memoryPtr,
        (strcmp(memoryPtr + 0 * blockSize, memoryPtr + 1 * blockSize) != 0) ? "!=" : "==",
        memoryPtr + blockSize
        );
    _getch();
    free(memoryPtr);                                                    // 释放动态内存
}
// 逐个字节输出内存块的内容,显示字符及其内码
void ShowMemory(const char* p, size_t size)
{
    for (size_t index = 0; index < size; ++index, p++)
    {
        printf_s("%c (0x%02X)\n", *p, *p);
    }
}
 2012-07-11 02:59
	    2012-07-11 02:59
   2012-07-13 20:51
	    2012-07-13 20:51
   2012-07-17 12:29
	    2012-07-17 12:29