Trong bit sau đây của mã, giá trị con trỏ và địa chỉ con trỏ khác nhau như mong đợi.Làm thế nào để một địa chỉ của mảng bằng với giá trị của nó trong C?
Nhưng giá trị và địa chỉ mảng thì không!
Làm cách nào để thực hiện điều này?
Output
my_array = 0022FF00
&my_array = 0022FF00
pointer_to_array = 0022FF00
&pointer_to_array = 0022FEFC
#include <stdio.h>
int main()
{
char my_array[100] = "some cool string";
printf("my_array = %p\n", my_array);
printf("&my_array = %p\n", &my_array);
char *pointer_to_array = my_array;
printf("pointer_to_array = %p\n", pointer_to_array);
printf("&pointer_to_array = %p\n", &pointer_to_array);
printf("Press ENTER to continue...\n");
getchar();
return 0;
}
Tôi đã thêm một câu trả lời với sơ đồ cho câu hỏi này hai năm trở lại đây ['Trở về (& mảng)' return?] (Http://stackoverflow.com/a/15177499/1673391) –