2013-12-23 6 views
0

Что произойдет, если мы будем использовать переменную в локальной переменной?Что лучше всего использовать volatile? И что происходит, когда мы используем локальную или формальную переменную?

Например,

#include <stdio.h> 
    #include <stdlib.h> 

    int get_data (volatile int data) 
    { 
     return (data * data * data); 
    } 

    int main() 
    { 
     int data = get_data(12); 
     printf("%d",data); 
     return 0; 
    } 

ответ

2

В этом случае, не было бы никаких видимых изменений, кроме программы, возможно, исполняющего медленнее.

0

Если переменная в объявлении имеет значение volatile, то значение переменной может быть изменено любым внешним устройством или аппаратным прерыванием. В вашем примере нет изменений. Когда вы квалифицируете переменную volatile, всякий раз, когда программа пытается получить доступ к переменной, каждый раз она будет искать в памяти, где хранится переменная. Для переменной не будет никакой оптимизации. Таким образом, программа может работать медленнее.

What is best use volatile? 

https://stackoverflow.com/a/4437555/1814023

Смежные вопросы