#include<stdio.h>
#include<malloc.h>
void my_strcpy(char *sour,char *dest){
if(sour == NULL || dest == NULL){
return;
}
while(*sour != '\0'){
*dest++ = *sour++;
}
*dest = '\0';
}
int main(){
char *d = NULL;
char *s = "Angus Declan R";
d = malloc(sizeof(char*));
my_strcpy(s,d);
printf("\n %s \n",d);
return 0;
}
この機能は正常に機能し、文字列を出力します。私の疑問は、ポインター「dest」が「\ 0」を指しているため、文字列全体をどのように出力するかです(文字列の最初のアドレスを指していないため)。