c基礎(4)
阿新 • • 發佈:2018-12-16
1.break。 break 會結束所有的迴圈,同時,break必須出現在迴圈體內。 2.continue。 continue會結束本次迴圈。 3.陣列。 知識點1:如果定義一個數組,一個初值都沒有賦。那麼所有的元素都為隨機值。 知識點2:陣列名代表第一個元素的地址。 知識點3:陣列只有一次初始化的機會,就是在定義的時候。 知識點4:陣列叫做聚合型別,數組裡面放的是相同型別的資料集合。 知識點5:陣列的下標永遠從0號下標開始。 問題1:陣列存放在哪個位置? 陣列存放在棧裡面。 問題2:陣列什麼時候確定大小? 陣列在編譯的時候確定大小。 問題3:陣列什麼時侯分配記憶體? 陣列在執行的時候分配記憶體。 問題4
int arry[10];
sizeof(arry);//sizeof(陣列名),代表整個陣列的位元組數,此處它的值為40;
int len=sizeof(arr)/sizeof(arr[0];//為陣列的長度,求len的公式必須和陣列的
//定義出現在一塊
4.指標
知識點1:
int *p=arry;
int i=0;
p[i]=0;//p[i]代表*(p+i),[]自帶解引用。
知識點2:指標在執行加法的時候,若指標為int型別,指標加1即為指標向後挪4個位元組。 頂層const和底層const:
int a = 10;
int b = 5;
const int *p = &a;//即*p的值我不能改變,p所指向記憶體裡面的內容不能改變。
int *const q =&b;//即q的地址不能變,q只能指向變數b所在的那塊記憶體。
cont int *const m =&a;//m的地址和地址m所對應的內容都不能改變。
野指標:指標在宣告的時候必須指向一段記憶體,也可以為NULL; 如下:
int *p;//野指標
int *q =NULL;//NULL代表0號地址,0號地址是不能被使用者訪問的。