| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4339 人关注过本帖
标题:如何将字符数组赋值给指针
只看楼主 加入收藏
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
 问题点数:0 回复次数:9 
如何将字符数组赋值给指针
请问各位:如何将字符数组赋值给指针??
例如:chars[] = "I love Chian!";赋值给*T.ch
小弟是这样的:
    for ( j = 0; j < SIZE; j++ )
             T.ch[j] = chars[j];
但总是不能成功,忘各位指点!如有例子更好~谢谢
搜索更多相关主题的帖子: 赋值 指针 字符 
2008-10-20 16:38
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
把结构体发上来

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-10-20 16:42
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

#define OVERFLOW 0
#define OK 1

typedef struct
{
    char *ch;
    int length;
}HString;


int StrAssign ( HString &T, char chars[] )
{
    //生成一个其值等于串常量chars的串T

    char *c;
    int i;
    int j;

    if ( T.ch )
        free ( T.ch );

    for ( i = 0, c = chars; c; ++i, ++c ) ;

    if ( !i )
    {
        T.ch = NULL;
        T.length = 0;
    }
    else
    {
        if ( !(T.ch = ( char * ) malloc ( i * sizeof ( char ) ) ) )
            exit ( OVERFLOW );

        for ( j = 0; j < i; j++ )
        {
            T.ch[j] = chars[j];
            T.length++;
        }
    }

    return OK;

}
/*

void String_Reverse ( HString T, HString &r )
{
    //求s的逆串r
    int i;
    int j;
    char *s = NULL;
    
    StrAssign(r,s); //初始化r为空串

    for ( i = T.length; i > 0; i-- )
    {
        *r.ch++ = T.ch[i];
        r.length++;
    }

    for ( j = 0; j < r.length; j++ )
        printf("s的逆串r==>%c", r.ch[j]);


}
*/

void main()
{
    HString T;
//    HString r;
    char *chars = "I love China";

    StrAssign ( T, chars );
    
//    String_Reverse ( T, r );

}
2008-10-20 17:01
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
HString &T
我很想知道他的意思

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-10-20 17:04
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
typedef struct
{
    char *ch;
    int length;
}HString;

2008-10-20 17:05
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
如何将字符数组赋值给指针??就这一个小问题
2008-10-20 22:32
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
看来我问的问题实在太弱智了,没人愿意回答
2008-10-20 22:43
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4252
注 册:2007-12-27
收藏
得分:0 
首先,4楼说的问题,不是C语法,所以在C以外的范畴下是不是正确我暂时不知道。
其次,你为T.ch而malloc的空间小了,所以放不下串结束符,除非你那个不是C意义的串。

[[it] 本帖最后由 forever74 于 2008-10-20 22:52 编辑 [/it]]

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-10-20 22:51
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
回复 8# forever74 的帖子
还是不行,我已经特意为T.ch分配打的空间,可vc编译器就是出现:Debug Assertion Failed!这种提示
2008-10-20 22:56
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4252
注 册:2007-12-27
收藏
得分:0 
可是我们再三说C里面没有HString &T这种语法您怎么就不考虑一下呢?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-10-20 23:38
快速回复:如何将字符数组赋值给指针
数据加载中...
 
   



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

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