C语言中数组初始化怎么方便引用普通变量?
不知标题有毛病没?我的意思是:chara=1;charb=2;charc=3;charAttr[3];我想定义Attr[3],内容是:a,b,c。我知道可以通过下边的方法...
不知标题有毛病没?我的意思是:
char a=1;
char b=2;
char c=3;
char Attr[3];
我想定义Attr[3],内容是:a,b,c。我知道可以通过下边的方法完成:
Attr[0]=a;
Attr[1]=b;
Attr[2]=c;
我想问有没有简单一点的方法,我尝试过char Attr[3]={a,b,c},不过不行!如果你问我上边的为什么不好,我会说如果是Attr[100]又该情何以堪…… 展开
char a=1;
char b=2;
char c=3;
char Attr[3];
我想定义Attr[3],内容是:a,b,c。我知道可以通过下边的方法完成:
Attr[0]=a;
Attr[1]=b;
Attr[2]=c;
我想问有没有简单一点的方法,我尝试过char Attr[3]={a,b,c},不过不行!如果你问我上边的为什么不好,我会说如果是Attr[100]又该情何以堪…… 展开
4个回答
展开全部
//下面程序能正常运行,说明可以用变量初始化数组的。
#include<stdio.h>
void main()
{
char a=1;
char b=2;
char c=3;
char Attr[3]={a,b,c}; //这样可以的啊!
printf("%d,%d,%d\n",Attr[0],Attr[1],Attr[2]);
}
#include<stdio.h>
void main()
{
char a=1;
char b=2;
char c=3;
char Attr[3]={a,b,c}; //这样可以的啊!
printf("%d,%d,%d\n",Attr[0],Attr[1],Attr[2]);
}
追问
以前我试过一个:
#define a 1;
char Attr[3]{a,1,2} 结果:可以
又试了一下:
char a=3;
char Attr[3]={a,1,2};结果:出错
当时认为这种可以行不通,就放那了,最近又要用到这一点。就直接问了。
这次提问时没有再次验证,我验证下试试……
展开全部
俺想说的是 char a=1; 中1你不加' ' 啊?! 不加的话就是整型赋值给了字符型的。。
这样之后貌似就没有必要 那样赋值了。。可以直接赋值进去 这样 char Attr[3]={'1','2','3'};就行了。呼呼 不知道能不能帮你解决你的疑问···
这样之后貌似就没有必要 那样赋值了。。可以直接赋值进去 这样 char Attr[3]={'1','2','3'};就行了。呼呼 不知道能不能帮你解决你的疑问···
追问
首先谢谢你的回答。你说的我想到了,不过不行的,我只是举个例子,就是强调先有了 普通 变量,然后需要将它们放到数组里边,这个是我的本意。
追答
好吧 ==、
如果普通变量是连续存储的话可以用两个指针 来解决 要不就真的要一个一个的赋值了吧。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char Attr[]={"abc"};如果是数字的话就 char Attr[]={'1','2','3'};
这样就行了,想写多少位都没有问题。。。[ ]中写不写数值都可以,我建议你去看看书,书上这些内容都写的很清楚了。
这样就行了,想写多少位都没有问题。。。[ ]中写不写数值都可以,我建议你去看看书,书上这些内容都写的很清楚了。
追问
char 和 int 在某种程序上不是通用的吗,我的重点不在这呀。要是扣这,我可以将char全部换成int.
sun_siliang好像懂我意思了……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。
初始化的方式一般有如下两种:
1、直接对变量进行赋予常量数值进行初始化;
2、通过同类型变量进行初始化。
举例说明如下:
// 以下属于第1种初始化方式
int a1=5; // 整型变量的初始化
int b1[]={1,2,3,4}; // 整型数组的初始化
char str1[]="abcd"; // 字符数组的初始化
// 以下属于第2种初始化方式
int a2 = a1; // 整型变量的初始化
int b2[4] = b1; // 整型数组的初始化
char str2[4] = str1;// 字符数组的初始化
char *p = str1; // 字符指针的初始化
初始化的方式一般有如下两种:
1、直接对变量进行赋予常量数值进行初始化;
2、通过同类型变量进行初始化。
举例说明如下:
// 以下属于第1种初始化方式
int a1=5; // 整型变量的初始化
int b1[]={1,2,3,4}; // 整型数组的初始化
char str1[]="abcd"; // 字符数组的初始化
// 以下属于第2种初始化方式
int a2 = a1; // 整型变量的初始化
int b2[4] = b1; // 整型数组的初始化
char str2[4] = str1;// 字符数组的初始化
char *p = str1; // 字符指针的初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询