C/Data Type/Register

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Register variable: faster

<source lang="cpp">

  1. include <stdio.h>
  2. include <time.h>

int i; /* This will not be transformed into a

          register variable because it is global.*/

int main(void) {

 register int j;
 int k;
 clock_t start, finish;
 start = clock();
 for(k = 0; k < 1000; k++)
   for(i=0; i<32000; i++) 
       ;
       
 finish = clock();
 printf("Non-register loop: %ld ticks\n", finish - start);
 start = clock();
 for(k = 0; k < 1000; k++)
   for(j = 0; j < 32000; j++)
       ;
 finish = clock();
 printf("Register loop: %ld ticks\n", finish - start);
 return 0;

}


      </source>


Use register int in function

<source lang="cpp">

  1. include <stdio.h>

main() {

   register int  i = 0; 
   for( i = 0; i < 2; i++) {
       printf("i = %d\n",i);
   }

}


      </source>