配列バージョンは配列メモリを割り当てるので、100バイトの文字列は定数セクションで100バイトを使用し、静的配列で100バイトを使用しますか、それとも合計100バイトのみを使用しますか?そして、ポインタバージョンでは、文字列の100バイト以外にポインタにワードサイズを割り当てますか、それともポインタを定数セクションアドレスに完全に最適化しますか?
質問する
2438 次
1 に答える
1
一般的なコンピューターを使用している場合は、次の.rodata
セクションがあります。
#include <stdio.h>
static const char *s = /* string of 100 characters */;
int main(void)
{
puts(s);
return 0;
}
100 + sizeof(char *)
セクションにバイトを割り当てます.rodata
。
#include <stdio.h>
static const char s[100] = /* string of 100 characters */;
int main(void)
{
puts(s);
return 0;
}
100
セクションにバイトを割り当てます.rodata
。
于 2013-01-12T14:14:45.683 に答える