刚刚遇到这个最近的问题:
我只是想知道:当我使用简单的malloc创建一个2D数组并像这样管理类似2D的访问时:
int row=100;
int col=100;
char* buffer = malloc(sizeof(char)*row*col);
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
buffer[i*col+j]=128;
}
}
Run Code Online (Sandbox Code Playgroud)
这会(明显)快于创建"传统"2D阵列时的速度吗?因为在前者中我通过顺序访问实现缓冲区优化?还是我错了?
int row=100;
int col=100;
char buffer[row][col];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
buffer[i][j]=128;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的解释.