2011年6月30日

Array and Pointers

--------------------------------------------
Snippet:
char *value="12345";
int size;

size = sizeof(value);

printf("1.value[%s], size[%d]\n", value, size);
strcpy(value, "67890");
printf("2.value[%s], size[%d]\n", value, size);
--------------------------------------------
Result:
1.value[12345], size[4]
Segmentation fault

--------------------------------------------
Snippet:
char value[]="12345";
int size;

size = sizeof(value);

printf("1.value[%s], size[%d]\n", value, size);
strcpy(value, "67890");
printf("2.value[%s], size[%d]\n", value, size);
--------------------------------------------
Result:
1.value[12345], size[6]
2.value[67890], size[6]

0 意見: