Действительно немой вопрос. Вот мой пример кода:Почему malloc не создает новую переменную?
#include <stdio.h>
#include <stdlib.h>
typedef struct sample {
int a;
int b;
} SAMPLE_T;
int main() {
int i, max = 4;
for (i = 0; i < max; i++)
{
SAMPLE_T * newsamp = (SAMPLE_T *)malloc(sizeof(SAMPLE_T));
printf("addr: %x\n", &newsamp);
}
}
Я пытаюсь «создать» новую переменную каждый раз, когда я иду через петлю, и я подумал, что это будет делать трюк, так как malloc
бы создать новую переменную на куча. Но, кажется, я что-то испортил. Вот результат:
addr: bfc29c4
addr: bfc29c4
addr: bfc29c4
addr: bfc29c4
Am Я не понимая, как malloc
работает?
Право. Его в «реальном» коде, но я определенно уверен, что вы свободны. Благодарю. – Pat
Лучше использовать «% p» при печати адресов. – Arun