constant-character-array
( )の内容を変更したいconst array[64]
。
以下は私のコードです。
私の質問const char *append
は、定数文字ポインター( )として関数に渡されたときに、定数文字配列が変更されない(反映されない)のはなぜですか?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int function(char *d,const char *append)
{
append = d; //changing the location of append.
printf ("%s\n",append); //displays as sachintendulkar.
}
int main()
{
char *d = NULL;
const char append[]={'s','a','c','h','i','n'};
d = calloc(sizeof(char),sizeof(append));
strcpy(d,append);
strcat(d,"tendulkar"); //appending
function(d,append);
printf ("%s\n",append); //Its displays as sachin instead of sachintendulkar???
}