![c语言对二维数组的某一行赋值 如u8 a[20][20]; 仅对a[10]这一行赋值,第1张 c语言对二维数组的某一行赋值 如u8 a[20][20]; 仅对a[10]这一行赋值,第1张](/aiimages/c%E8%AF%AD%E8%A8%80%E5%AF%B9%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E7%9A%84%E6%9F%90%E4%B8%80%E8%A1%8C%E8%B5%8B%E5%80%BC+%E5%A6%82u8+a%5B20%5D%5B20%5D%3B+%E4%BB%85%E5%AF%B9a%5B10%5D%E8%BF%99%E4%B8%80%E8%A1%8C%E8%B5%8B%E5%80%BC.png)
代码片段可以这么写:
……int i;
u8 a[20][20];
for(i=0;i<20;scanf("%d",a[10]+i++));
……t和len两个变量,都应该定义成u16。
这是因为USART_RX_STA&0x3fff的计算结果最多需要14个bit,u8只有8bit,在大长度的时候会有问题。
如果写程序的人知道长度不超过8bit,那么用u8是可以的。不应该这样编写程序。
u8是unsigned char,u16是unsigned short。
u8,u16是C语言数据类型,分别代表8位,16位一个字节是8位,所以u8是1个字节,u16是2个字节。
例如:
void TIM3_Int_Init(u16 arr,u16 psc)
{
//do something
}
扩展资料:
注意事项
stdinth 这里放着C语言的标准表达方式//第36行开始
typedef signed char int8_t; // 标准表达方式 signed char 被等同于 int8_t;
typedef signed short int int16_t;
typedef signed int int32_t;//在32位环境里,int代表4个字节32位!
typedef signed __int64 int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;
stm32f10xh 这个文件主要是为了兼容旧版本
typedef uint32_t u32;///32位
typedef uint16_t u16;///16位
typedef uint8_t u8;///8位
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)