| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:求教一个char数组的问题
只看楼主 加入收藏
yss0729
Rank: 3Rank: 3
来 自:江西 九江
等 级:论坛游侠
帖 子:43
专家分:197
注 册:2013-6-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求教一个char数组的问题
我刚接触C,对于char数组和做字符串的时候长度有点不解
下面代码为什么是那样的?是不是传地址指针的时候,sizeof()得到的是该地址所占用的空间大小呢?
如果是的话,我想把char a[]里的字符串赋给 char b[] 应该怎样写呢
求指点迷津。

程序代码:

void reverseCopy(char *a,char *b);

int main()
{
    char a[] ="abcdefghigklmnopqrstuvwxyz";
    char b[27];
    printf("%d,%d",sizeof(a),sizeof(b));
    reverseCopy(&a,&b);
    printf("%s",b);
    getch();
}

// 反转复制
void reverseCopy(char *a,char *b)
{
    int i;
    int j=0;
    if(sizeof(a)!=sizeof(b))
    {
        printf("The wrong length!");
        return;
    }
    printf("The array length is %d",sizeof(a));// 输出4  为什么?
    for(i=sizeof(a)-1;i>=0;i--)
    {
        b[j]=a[i];
        j++;
    }
}
搜索更多相关主题的帖子: 空间 color 字符串 
2013-06-09 17:53
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
函数传参时,数组会退化为指针


[fly]存在即是合理[/fly]
2013-06-09 17:58
liuxiangtao
Rank: 2
等 级:论坛游民
帖 子:11
专家分:57
注 册:2013-3-18
收藏
得分:5 
因为a是一个指针,而在32位机器上,一个指针所占的字节数为4,你可以判断判断a[i]是否等于'\0'来结束循环
2013-06-09 20:19
嗜血老妖
Rank: 3Rank: 3
来 自:江西
等 级:论坛游侠
威 望:2
帖 子:102
专家分:163
注 册:2013-3-25
收藏
得分:5 
reverseCopy(&a,&b);
这里应该为   reverseCopy(a,b);

仗剑走天涯,网络论英雄。
2013-06-09 22:48
黄凌锋
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-11
收藏
得分:0 
数组名就是数组中第一个成员的指针
2013-06-11 22:12
序曲萧邦
Rank: 2
等 级:论坛游民
帖 子:45
专家分:41
注 册:2012-11-17
收藏
得分:0 
可以试试用strcpy()函数试试、

新手学c中。还望多多指教
2013-06-11 23:00
快速回复:求教一个char数组的问题
数据加载中...
 
   



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

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