学C的大叔 发表于 2021-4-2 19:08:30

求教关于书上memset函数的问题

本帖最后由 学C的大叔 于 2021-4-2 21:19 编辑

程序中的memcpy(ptr2, ptr1, 10);是不是错了,应该是memcpy(ptr2, ptr1, 10 * sizeof(int));才对吧


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main ()
{
        int *ptr1 = NULL;
        int *ptr2 = NULL;
        //第一次申请的内存空间
        ptr1 = (int *) malloc(10 * sizeof(int));
        //进行若干操作后发现ptr1申请的空间不够用...
        //第二次申请的内存空间
        ptr2 = (int *) malloc(20 * sizeof(int));
        //讲ptr1的数据复制到ptr2中
        memcpy(ptr2, ptr1, 10);
        free(ptr1);
        //对ptr2申请的内存空间进行若干操作...
        free(ptr2);       
        return 0;
}

学C的大叔 发表于 2021-4-2 21:20:07

本帖最后由 学C的大叔 于 2021-4-2 21:29 编辑

自己顶

教材完全解毒 发表于 2021-4-2 21:36:11

是应该*sizeof(int)的

学C的大叔 发表于 2021-4-2 21:50:07

那看来是小甲鱼笔误了,谢谢大佬!
页: [1]
查看完整版本: 求教关于书上memset函数的问题