各种指针的初始化

// 一维数组初始化及使用
char *allocSpace(int n) {
    char *p = (char *)malloc(n);
    return p;
}
strcpy(p, "china"); // string.h


// 数组指针初始化及使用
void *alloc2dSpace(int base, int row, int line) {
    void *p = (void *)malloc(base * row * line);
    return p;
}
p[i][j] = i + j;

// 二级指针初始化及使用
void **alloc2dSpace(int base, int row, int line) {
    void **p = (void **)malloc(row * sizeof(void *));
    for(int i = 0; i < row; i++) {
        p[i] = (void *)malloc(base * line);
    }
    return p;
}
p[i][j] = i + j;

你可能感兴趣的:(各种指针的初始化)