关于二维数组和指针的问题
char buf[10][20];
这是一个包含200个字节的二维数组,buf[5][8]应该是第108个字节(5*20+8)
我想作为函数的参数送进去,在里面还是当做数组使用。
但是目前只懂通过指针来传递,只能当指针来使用,不是很方便,有没有更好方法?
void test(char *pbuf, int bytes_per_line)
{
// buf[5][8]变成以下写下
char ch108 = *(pbuf + bytes_per_line * 5 + 8);
}
能不能写成pbuf[5][8]这种方式?应该怎么办呢?
[解决办法]
&buf【5】【8】
[解决办法]
buf[5][8]的地址:
&buf[5][8]
buf[5]+8
*(buf+5)+8