#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *first, *second, *third;
if (argc < 2)
{
printf("usage: ./q1 str\n");
exit(1);
}
first = (char*)malloc(660);
second = (char*)malloc(220);
third = (char*)malloc(120);
strcpy(second, argv[1]);
printf("locations of the 1st, 2nd, and 3rd memory trunks are %p, %p, %p \n", first, second, third);
printf("contents of the 2nd memory trunk are %s\n", second);
free(first);
free(second);
free(third);
}
因爲我在編譯這個程序時剛剛C,所以它只打印「usage:./q1 str」。根據C語言,這個程序在退出結束(1)。這是否意味着,第一,第二和第三個內存塊的分配和鏈接到程序?如果他們被分配和鏈接說明他們如何分配? 鍛鍊需要用於每個存儲塊和在存儲器塊中的值的字節數header.What意思?說明第一,第二和第三塊內存是如何在程序中分配和鏈接的
這似乎是一個家庭作業的問題。我們不在這裏爲你做這件事。閱讀[問]你希望提供什麼,哪些問題是受歡迎的,哪些不是。 – Olaf