标题:求问memset函数清空数组时用和不用sizeof 有什么区别
只看楼主
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
结帖率:53.85%
 问题点数:0 回复次数:2 
求问memset函数清空数组时用和不用sizeof 有什么区别
为什么有的用对,有的不用直接打数字对
2015-03-21 11:33
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>

int main(void)
{
    int a[5], i = 0;
    int *p = a;

    while (i < 5) {
        *p = ++i;
        printf("%d ", *p++);
    }
    puts("");

    memset(a, 0, sizeof(a));
    for (p = a; p <= &a[4]; p++)
        printf("%d ", *p);
    puts("");

    for (p = a, i = 0; p <= &a[4]; p++)
        *p = ++i;
    for (p = a; p <= &a[4]; p++)
        printf("%d ", *p);
    puts("");

    memset(a, 0, sizeof(a[0]) * 3);
    for (p = a; p <= &a[4]; p++)
        printf("%d ", *p);
    puts("");

    for (p = a, i = 0; p <= &a[4]; p++)
        *p = ++i;
    memset(a, 0, 3);
    for (p = a; p <= &a[4]; p++)
        printf("%d ", *p);
    puts("");

    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-03-21 12:19
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
得分:0 
懂了,谢谢
2015-03-21 20:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442890-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015998 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved