首页 > 编程知识 正文

c语言字符数组定义和赋值,字符数组定义和赋值

时间:2023-05-06 08:06:11 阅读:168095 作者:1421

1 .首先定义结构数组:

typedef struct BleAndTspRmtCmd{

char terminal[3];

char note[3];

char rmtCmd[10];

char cmdPropt[24];

(;

BleAndTspRmtCmd是结构体名称,根据该结构体名称,计算其他结构体变量、structBleAndTspRmtCmdvariable;

或结构数组变量,structbleandtsprmtcmdvariable [ ];

2 .或定义全局结构变量,然后单击、

typedef struct {

char terminal[3];

char note[3];

char rmtCmd[10];

char cmdPropt[24];

}BleAndTspRmtCmd;

然后,根据该结构体变量生成其他结构体变量、BleAndTspRmtCmd variable; 或数组变量BleAndTspRmtCmdvariable[];

3 .结构初始化方法:

zydhf :定义结构体数组变量时直接初始化(代入)。 结构内变量是字符数组,因此相当于字符串指针。 这是字符排列的特殊性。

structbleandtsprmtcmdmyrmdcmdset [ 28 ]={ ' XX ',' XX ',' XX ',' XX ',' XX ',' XX ',' XX ',' xx ', }

方法2 :定义结构数组,然后赋值。

structbleandtsprmtcmdmyrmdcmdset [ ]={ null };

这个代入方式分为两种,目前我成功验证的是:

先分配临时变量

int index=0;

char node_temp[4]='XX ';

char terminal_temp[4]='XX ';

char rmtCmd_temp[11]='XX ';

char cmdPropt_temp[24]='XX ';

然后,为结构数组变量指定临时变量并进行遍历。

一. strcpy,复制临时字符数组变量;

for (; 索引28; index )

{

src py (myrmdcmdset [ index ].terminal,terminal_temp );

strcpy(myrmdcmdset[index].note,node_temp );

strcpy (myrmdcmdset [ index ].rmt cmd,rmtCmd_temp;

strcpy (myrmdcmdset [ index ].cmdpropt,cmdPropt_temp );

}

第二,memcpy与第一个相似,但函数不同

for (; 索引28; index )

{

memcpy (myrmdcmdset [ index ].terminal,terminal_temp,sizeof ) terminal_temp );

memcpy(myrmdcmdset[index].note,node_temp,sizeof ) node_temp );

memcpy (myrmdcmdset [ index ].rmt cmd,rmtCmd_temp,sizeof ) rmtCmd_temp );

memcpy (myrmdcmdset [ index ].cmdpropt,cmdPropt_temp,sizeof ) cmdPropt_temp );

}

这样就完成了结构体数组变量的代入。

请注意,结构中的所有变量都是字符数组,因此它相当于指针,指向结构的相应地址,并且在输出时输出从指定地址开始的值,直到结构结束。

为了输出正确的值,printf需要剪切和对齐。

保持输出字符串:

printf('%s”,str;

2 .输出指定长度的字符串,长时不截断,不够时右对齐:

printf('%ns ',str ); -n是指定长度的十进制数字

3 .输出指定长度的字符串,过长时不截断,不足时左对齐:

printf('%-ns ',str ); -n是指定长度的十进制数字

4 .输出指定长度的字符串,长则舍去,不够时右对齐:

printf('%n.ms ',str ); -n是最终的字符串输出长度

-m是从参数字符串中检索到的子字符串的长度

5 .输出指定长度的字符串,长则舍去,短则左对齐:

printf('%-n.ms ',str ); -n是最终的字符串输出长度

-m是从参数字符串中检索到的子字符串的长度

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。