首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

如何才能合并变量

2013-02-24 
求助怎么才能合并变量?有没有什么办法可以把几个变量的内容赋值到一个变量之中,或者是合并几个变量的内容

求助 怎么才能合并变量?
有没有什么办法可以把几个变量的内容赋值到一个变量之中,或者是合并几个变量的内容到一个变量。 C语言 变量 合并
[解决办法]
#include <iostream>

using namespace std;

enum {
kDamage = 0x1,
kCure = 0x1<<1,
kCritical = 0x1<<2,
};
void checkDamageType(const unsigned int t){
    if(t & kCritical){
        cout<<"critical ";
    }
    if(t & kDamage){
        cout<<"damage."<<endl;
    }
    if(t & kCure){
        cout<<"cure."<<endl;
    }

}
int main(){
    unsigned int t = kDamage 
[解决办法]
 kCritical;
    checkDamageType(t);
}
[解决办法]
定义一个结构体吧- -


typedef struct _PARAM_ITEM
{
    char    ch;
    int     n;
    float   f;
    double  d;
    ……
}PARAM_ITEM;

PARAM_ITEM param;


不知道符合楼主意思不?
[解决办法]
楼主,你看完我对变量的解释,你应该就有方法做你想做的事情了。

不论是什么类型的变量,最终从计算机的视角来看,都不过是从存储空间取数据,
这里牵涉到两个关键因素:1。存储空间的大小,2。数据在存储空间的布局(这个因素和楼主的问题关系不大,因此就不详细介绍了)
比如:假设在32位的计算机上有以下几个变量的定义
char a;  这句话的目的是告诉计算机这里要分配一个1字节的存储空间。
short int b;   这里的目的是告诉计算机这里要分配一个2字节的存储空间。
float c;    不错,这里也是告诉计算机分配一个4字节的存储空间。
比如有个结构体:
struct test {
    int a; 
    int b; 
    int c; 
}; 
显然这个结构体的大小是12字节,因此
struct test d;  这里就是告诉计算机这里分配一个12字节的存储空间。



有了以上的认识,你所谓的合并两个变量也就是说,你只需要有一个足够大小的存储空间:
这个可以通过定义结构体,或者使用指针申请内存来实现,或者使用数组。
然后将你要合并的数据copy进这个存储空间即可。


[解决办法]
引用:
引用:你想干什么? 
谢谢各位
可能我描述的太笼统了,抱歉!下面我把具体要实现的功能给大家说一下。 
有a,b,c,d,e五个变量内容分别是1,2,3,4,5 我要的功能就是把这五个变量的内容赋值到一个变量f之中,赋值完成后f变量的内容就是“12345” 这是这样了。

//有a,b,c,d,e五个变量内容分别是1,2,3,4,5
//把这五个变量的内容赋值到一个变量f之中,
//赋值完成后f变量的内容就是“12345”
#include <stdio.h>
char a,b,c,d,e;
struct F {
 char a,b,c,d,e;
} f,ff;
int main() {
    a=1;
    b=2;
    c=3;
    d=4;
    e=5;

    f.a=a;
    f.b=b;
    f.c=c;
    f.d=d;
    f.e=e;

    ff=f;

    printf("%d%d%d%d%d\n",ff.a,ff.b,ff.c,ff.d,ff.e);

    return 0;


}
//12345

热点排行