如何進行以下工作?這個想法是爲函數分配一個外部指針,所以我可以在另一個程序中使用這個概念,但我不能這樣做,因爲gcc一直告訴我,參數來自不兼容的指針類型...它應該很簡單,但我沒有看到它。C:接收指針指針的函數,因此可以分配外部指針
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int allocMyPtr(char *textToCopy, char **returnPtr) {
char *ptr=NULL;
int size=strlen(textToCopy)+1;
int count;
ptr=malloc(sizeof(char)*(size));
if(NULL!=ptr) {
for(count=0;count<size;count++) {
ptr[count]=textToCopy[count];
}
*returnPtr = ptr;
return 1;
} else {
return 0;
}
}
int main(void) {
char text[]="Hello World\n";
char *string;
if(allocMyPtr(text,string)) {
strcpy(string,text);
printf(string);
} else {
printf("out of memory\n");
return EXIT_FAILURE;
}
free(string);
return EXIT_SUCCESS;
}
'allocMyPtr(text,&string)' – Roddy
忘記主要複製「文本」到「字符串」,這是不必要的行 – davi5e