2016-04-26 10 views
0

Im folgenden Code, wo wird 100 in der for-Schleife im Speicher des Computers gespeichert?Wo werden Konstanten in for-Schleife Ausdruck im Speicher des Computers gespeichert?

#include<stdio.h> 

main() 
{ 
    int i; 
    for(i=0;i<100;i++) 
     printf("%d \n",i); 
    getchar(); 
} 
+0

Ich stimme zu, diese Frage als Off-Topic zu schließen, da es sich nicht um ein Programmierproblem handelt. cs.stackoverflow.com kann jedoch eine OK-Seite sein, auf der Sie nachfragen können. –

+4

@IanRingrose Wie ist es zu wissen, wo Dinge gespeichert sind _nicht_ ein Programmierproblem? Und wie genau ist das ein Computer Science Problem? Computerwissenschaftler sind im Allgemeinen dafür berüchtigt, dass sie nicht wissen, wie Computer in der Praxis funktionieren. Die Frage wäre _definitely_ off-topic auf http://cs.stackexchange.com. – Lundin

+0

Im Zusammenhang mit http://StackOverflow.com/Q/2589949/694576 und/oder http://StackOverflow.com/Q/28470295/694576, wenn nicht ein Duplikat. – alk

Antwort

4

Der C-Standard gibt nicht an, wo Integer-Konstanten gespeichert sind.

In der Praxis wird es in einigen schreibgeschützten Speicher enden. In diesem Fall wird es höchstwahrscheinlich in den tatsächlichen Code-Speicher (Segment .text) zusammengeführt.

+3

Wenn Sie auf x86-Prozessoren mit Optimierungen kompilieren, landen diese Konstanten wahrscheinlich in einem Maschinenbefehl. –

Verwandte Themen