結構和數組隨書筆記

結構

       結構不可以這樣賦值

       Structcomplex_struct z1;

       Z1={3.0,4.0};

可以這樣初始化 structcomplex_struct z1={3.0,4.0};,在局部變量中還可以這樣賦值:

       Doublex=3.0; struct complex_struct z1={x,4.0};但是全局變量中不可以。可以這樣給結構賦值:z1.x=3.4;z1.y=4.0;還可以只初始化結構中的部分成員,未初始化成員爲0。

數組

       可以定義一個由若干個結構體元素組成的數組,也可以定義一個包含數組成員的結構體:structcomplex_struct{double x,y;}a[4];                     struct{doublex,y;   int count[4];}s;

在c語言中後綴運算符的優先級最高,單目運算符的優先級僅次於後綴運算符,比其他運算符的優先級都高,所以++count[2]表示的是對count[2]做前綴++運算。Inta=1; ++a++??

給數組初始化部分元素時可以這麼初始化 intcount[4]={[2]=3};其他成員爲0。

       數組與結構體最顯著的不同是:數組不能相互賦值或初始化,而結構體可以。如:

              Inta[4]={2,5,}; int b [4]=a;或者a=b;  都是錯的。而structcomplex_struct a={1.0,2.0} ,b; b=a;是可以的,這也意味着數組不能作爲函數的參數返回值。

       在庫<stdlib.h>中有一個函數rand(),它可以返回一個0~RAND_MAX之間的任意數,RAND_MAX很大,要是隻要0—9的數可以這樣inta=rand()%10;

       Time(NULL)函數返回一個值,該值爲當前系統時間距1970年1月1日00:00:00的秒數,它在<time.h>中定義,而srand()可以給rand確定一個初值Seed,如srand(time(NULL));可以給rand確定一個初值。這在一定程度上達到獲得隨機數的目的。

字符數組:

       如果定義的字符數組長度剛好比字符串字面值少一位,用字符串字面值給字符數組賦值時,編譯器也不會報錯,但是字符數組後面沒有’\0’,即沒有結束符。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章