| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4558 人关注过本帖
标题:c[5]={0}相当于把c[5]整个数组都初始化吗?
只看楼主 加入收藏
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
结帖率:94.44%
收藏
已结贴  问题点数:20 回复次数:8 
c[5]={0}相当于把c[5]整个数组都初始化吗?
c[5]={0}相当于把c[5]整个数组都初始化吗?这样真的行吗?求真相
2010-07-04 16:54
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:1 
int main( void )
{
        int c[5] = {0};
        return 0;
}
产生的汇编:
        .file   "test.c"
        .text
.globl main
        .type   main, @function
main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ecx
        subl    $32, %esp
/*
        movl    $0, -24(%ebp)
        movl    $0, -20(%ebp)
        movl    $0, -16(%ebp)
        movl    $0, -12(%ebp)
        movl    $0, -8(%ebp)
*/这五句就是在赋值,全部赋值成0
        movl    $0, %eax
2010-07-04 17:02
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:1 
5个都被赋值0;

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-07-04 17:31
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
收藏
得分:1 
行,没有问题!
2010-07-04 17:32
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:8 
回复 2楼 kingsroot
我不解的是, 您学过 c 语言吗? 动不动就把 汇编代码调出来?

这个问题解决方法太多了呀,你何必要发汇编代码来 增加 c 语言学习的复杂度。

1, 翻开 《c primer plus》查一下
2, 不相信 《c primer plus》, 就 翻开 c99 标准查一下
3, for()
        printf();
4,断个点, a,5
5,for()
    a[i] = 0;
6, memset(a, 0, sizeof(int)*sizeof(a)/sizeof(int));

我就是真命天子,顺我者生,逆我者死!
2010-07-04 21:23
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:0 
版主  从汇编看C  相当于重上向下看  从语言角度看C  是重下往上看  我无语了  要想学好C  不懂汇编等于0~~~
2010-07-04 23:19
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 6楼 kingsroot
好吧, 麻烦你单开一帖, 就 学习汇编如何给学习c语言带来好处? 谈谈你的心得
也好让我们这菜鸟学习学习。/

我就是真命天子,顺我者生,逆我者死!
2010-07-05 08:54
孤独游侠
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2010-6-23
收藏
得分:1 
均赋值为0,
2010-07-05 12:25
jiayudong
Rank: 1
等 级:新手上路
帖 子:2
专家分:8
注 册:2010-7-5
收藏
得分:8 
c[5]的赋值有几种,如c[5]={1,2,3,4,5},c[5]={1,2,3}(这样赋值之后后面两个就是“0”了),c[5]={0}相当于c[5]={0,0,0,0,0,0}
2010-07-05 12:26
快速回复:c[5]={0}相当于把c[5]整个数组都初始化吗?
数据加载中...
 
   



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

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