1、區域性變數能否和全域性變數重名?答:可以重名,作用域不同,在函式中優先使用區域性變數,在c語言中沒有::引用全域性的說法。在函式外,區域性變數無法被訪問,所以沒有影響。
2、如何引用乙個已經定義過的全域性變數?
答:extern + 全域性變數名
3、全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?
答:可以
4、請寫出下列**的輸出內容
答: b = 10, c = 12, d = 120;#include int main(void)
5、static全域性變數與普通的全域性變數有什麼區別?static區域性變數和普通區域性變數有什麼區別?static函式與普通函式有什麼區別?
答:加static全域性其他檔案無法呼叫,加static區域性變數放在.data,函式結束但是static全域性變數依然存在,加static函式,不能被其他檔案呼叫。
6、程式的區域性變數存在於(堆疊)中,全域性變數存在於(靜態區 )中,動態申請資料存在於( 堆)中。
區域性變數 棧區
全域性變數 static宣告變數 靜態區
malloc申請 堆
7、設有以下說明和定義:
typedef union
long i; //8bits
int k[5]; //20bits
char c; //1bits
} date; //24bits
struct data
int cat; //4
date cow; 24//
double dog; //8
} too;
date max;
則語句 printf("%d",sizeof(struct data)+sizeof(max));的執行結果是
union的結構體大小演算法是size為可以整取所有成員size,有陣列的話,size一定要能放下陣列,但是在算除法的時候,按照變數型別大小算。struct的size大小演算法和union不一樣,union為記憶體共享,一時間只有乙個變數在其中,而struct是成員中必須都有記憶體,用偏移量演算法。但是當在strct中有union的時候先排除union計算大小,後加上union的大小就行。
8、佇列和棧有什麼區別?
佇列是先進先出 棧是先進後出
9、寫出下列**的輸出內容
#include
int inc(int a) //自增函式,傳值操作,a的值不變。
int multi(int*a,int*b,int*c)
typedef int(func1)(int in);
typedef int(func2) (int*,int*,int*);
void show(func2 fun,int arg1, int*arg2)
func1 p=&inc;
int temp =p(arg1); //temp = 11;
fun(&temp,&arg1, arg2);
printf("%dn",*arg2);
main()
int a; //區域性變數a為0;
show(multi,10,&a);
return 0;
答:110
10、請找出下面**中的所有錯誤 (題目不錯,值得一看)
說明:以下**是把乙個字串倒序,如「abcd」倒序後變為「dcba」
#include"string.h"
main() //main函式沒有宣告型別 ,應該為int型別
char*src="hello,world";
char* dest=null;
int len=strlen(src)+1;
dest=(char*)malloc(len+1); //『/0』的儲存位置 //沒有釋放申請的記憶體
char* d=dest;
char* s=src[len];
while(len--!=0)
d++=s--; //沒問題是,=號的運算優先順序比後置自增自減高
printf("%s",dest);
return 0;
C語言學習
c語言學習 2013 3 26 1 編寫strcat s,t 函式,功能 將t指向的字串複製到s指向的字串的尾部。程式設計思路 1 通過while迴圈找到字串s的結束符。2 從找到的結束符開始將t複製到s,同時移動二者的指標。2 編寫函式strend s,t 如果字串t出現在字串s的尾部,該函式返回...
c語言學習
今天總結一些c 語言方面的知識 變數的概念 其值在作用域內可以改變的量稱為變數。乙個變數應該有乙個名字,並在記憶體中佔據一定儲存空間。區域性變數和全域性變數 區域性變數是在函式內作定義說明的,其作用域僅限函式內,離開該函式再使用這種變數是非法的。全域性變數也稱為外部變數,是在函式外部定義的變數,它不...
c語言學習
計算機工作基本原理 現代計算機可分為幾個部件 cpu 處理單元 擔負著絕大部分的計算工作。ram 隨機訪問儲存器 作為乙個工作區來儲存程式和檔案。硬碟 永久儲存器 即使在計算機關機時也能記下程式和檔案。以及各種外圍裝置 如鍵盤,滑鼠和監視器 用來提供人與計算器之間的通訊。cpu工作過程 從記憶體中獲...