int a[2][3] ={1,2,3,4,5,6};
int b[3];
b = a[0];
这样赋值好像不对?
6 个解决方案
#1
memcpy(b , a[0],3);
#2
能说说为什么 b = a[0];不成么?
b不就是代表一个地址么,而a[0]我理解也应该是一个地址,为什么不成呢?
b不就是代表一个地址么,而a[0]我理解也应该是一个地址,为什么不成呢?
#3
b是数组,指针和数组还是有一些区别的
#4
一个一个复制阿。
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//
数组不支持直接拷贝。
int a[2] = {0,1};
int b[2] = a; //error
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//
数组不支持直接拷贝。
int a[2] = {0,1};
int b[2] = a; //error
#5
akirya,你的方法可行,不过有一个笔误吧
memcpy(b , a[0],12);
三个整型共12个字节
memcpy(b , a[0],12);
三个整型共12个字节
#6
数组不能整体赋值,这点不像结构体。
就是这样。
就是这样。
#1
memcpy(b , a[0],3);
#2
能说说为什么 b = a[0];不成么?
b不就是代表一个地址么,而a[0]我理解也应该是一个地址,为什么不成呢?
b不就是代表一个地址么,而a[0]我理解也应该是一个地址,为什么不成呢?
#3
b是数组,指针和数组还是有一些区别的
#4
一个一个复制阿。
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//
数组不支持直接拷贝。
int a[2] = {0,1};
int b[2] = a; //error
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//
数组不支持直接拷贝。
int a[2] = {0,1};
int b[2] = a; //error
#5
akirya,你的方法可行,不过有一个笔误吧
memcpy(b , a[0],12);
三个整型共12个字节
memcpy(b , a[0],12);
三个整型共12个字节
#6
数组不能整体赋值,这点不像结构体。
就是这样。
就是这样。