常量的三種定義方式和static在c語言中的三種修飾


c語言的常量在執行期間為固定值,在定義后無法被修改
常量可以是任何的數據基本類型,可以為整形,浮點常量,字符和字符串常量
1,使用const關鍵字
2, 使用宏定義
3,使用枚舉常量

 

枚舉:

 1 #include<stdio.h>
 2 int main(){
 3     enum sex{
 4         male,
 5         female,
 6         unknown,
 7     };
 8     printf("%d\n%d\n%d\n", male, female, unknown);
 9     return 0;
10 }

宏定義:

1 #define i 5

const關鍵字修飾的常量不可被再修改,例如:

1 const int i=6;

 

 

 

 


 

 

在vs同一個工程下建立兩個.c格式的文件:

在第一個.c文件下寫:

1 static int g_val = 100;

 

在第二個.c文件下寫上

 1 #include <stdio.h>
 2 #include<stdlib.h>
 3  extern int g_val;
 4 
 5 int main(){
 6      /*int g_val = 30;*/
 7     
 8     printf("%d\n", g_val);
 9     system("pause");
10     return 0;
11 }

運行結果如下:

當去掉第一個程序的static時候:

1 int g_val = 100;

再次運行第二個程序顯示編譯成功。

這是因為:

 static作用於同一個工程中2.c文件內的int g_val;使之從全局變量變為了局部變量,從而在1.c文件中編譯器無法打印出g_val

另外在同一個工程中的不同的.c文件中如果需要引用另一個.c中的變量,需要使用extern在進入主要函數之前
c語言static的作用:
1,修飾局部變量,改變變量的生命周期,變成了整個程序;
2,修飾全局變量,改變變量的作用域,變成了當前文件;
3,修飾全局函數,改變函數的作用域,變成了當前文件
好處:
防止一個工程下成百上千個文件難免有對同一個變量的相同命名,只作用於當前文件,保證了程序的安全性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM