sizeof使用二维数组时注意问题

来源:互联网 发布:qq空间个性域名注销 编辑:程序博客网 时间:2024/05/03 07:55

先上代码:

float gcode[10][2]={                  {0.00,0.00},                  {100.00,0.00},                  {100.00,50.00},                  {0.00, 50.00},                  {0.00,100.00},                  {100.00,100.00},                  {100,150.00},                  {0.00,150},                  {0.00,200.00},                  {100.00,200.00}                 };void setup() {  // put your setup code here, to run once:  Serial.begin(115200);  Serial.println("hello world");}void loop (){ Serial.println(sizeof(gcode)); Serial.println(sizeof(gcode[0])); Serial.println(sizeof(gcode[0][0]));   Serial.println("ok");  while(1);}

以下是运行结果:

hello world
80
8
4
ok

解析:

sizeof(gcode),gcode指向整个二维数组,所以sizeof(gcode)求的是二维数组的字节数,10*8=80;

sizeof(gcode[0]),gcode[0]指向二维数组第一行,第一行共有4*2=8;

sizeof(gcode[0][0]),gcode[0][0]指向二维数组第一个元素,float 为4字节。

                                             
0 0
原创粉丝点击