c++, char ,用法, 结构中的 字符数组

来源:互联网 发布:linux 安装命令 编辑:程序博客网 时间:2024/05/21 05:56

struct student
{
int x;
char name[10];
};

 

void main()
{
student st;
st.name=     ?       ;                 

}

 

使用解释一:

st.name="123"; 非法,常量字符串不能直接赋值给字符数组;
因为st.name 地址是确定的,不能再改了。 
但:
char name[10]="123";可以,是被允许的;
定义时,进行初始化字符数组。
 
那结构中怎么办?
字符串就用:
strcpy( st.Number , "123\0");         // 使用技巧:用于赋值的字符串末尾最后加上"\0";原因,避免在再分配数组的空间没有被占用时,出现乱码。
要是数字的话则:sprintf( st.Number , "%d" , 123 );
 
char name[10];  使用数组时,最好先清零。
使用memset;或者 简单点直接:char name[10]={0};


 

原创粉丝点击