int **val = NULL;
我想为这个指针的指针分配内存;
这样是不是对的?
array = ( int ** ) malloc( sizeof( int ) * 10 * 10 + 1 );
下面这段代码在16位的编译器上可以通过,但是在32位的VC6上就出错;
为什么?
for( n = 0 ; n < 10 ; n++ ) {
for( j = 0 ; j < 10 ; j++ ) {
*( *( array + j ) + n ) = j;
}
}
for( n = 0 ; n < 10 ; n++ ) {
for( j = 0 ; j < 10 ; j++ ) {
printf(" %d " , *( *( array + j ) + n ) );
}
printf("\n\n");
}
1、void* malloc(size_t size)。这个函数请求分配大小为size字节的内存,并返回指向该块内存起始位置的指针。
2、例程:
#include <stdio.h>