我想要的是分配标签并用一些数字填充它。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void prepare_internship(int** tab) {
*tab = malloc(5 * sizeof(int));
*(*tab+0) = 1;
}
int main() {
int** tab;
prepare_internship(tab);
printf("%d", *(tab));
return 0;
}
答案 0 :(得分:3)
您将未初始化的指针传递给prepare_internship
。如果您希望函数修改tab
,则需要的是:
int* tab;
prepare_internship(&tab);
但在这种情况下,最好将您的功能更改为int*
返回类型,然后您只需使用tab = prepare_internship();
答案 1 :(得分:0)
int** tab
未初始化。它应该是int* tab
,当作为参数传递时,传递方式如下:&tab
。