在 main 函数的最后一行,为什么 &word2
与 word2
不同?假设正确的标题就位。谢谢!
int main()
{
char word1[20];
char *word2;
word2 = (char*)malloc(sizeof(char)*20);
printf("Sizeof word 1: %d\n", sizeof (word1));
printf("Sizeof word 2: %d\n", sizeof (word2));
strcpy(word1, "string number 1");
strcpy(word2, "string number 2");
printf("%s\n", word1);
printf("%s\n", word2);
printf("Address %d, evaluated expression: %d\n", &word1, word1);
printf("Address %d, evaluated expression: %d\n", &word2, word2);
//Why this one differ?
}
最佳答案
word2
是您使用 malloc
分配的内存地址。&word2
是名为 word2
的变量的地址。
关于c - C中的内存地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14837709/