1. 程式人生 > >c1803 黃文博 第四次課堂筆記

c1803 黃文博 第四次課堂筆記

本節主要學習了陣列和指標 1.首先介紹陣列的概念 陣列:型別相同的數值集合 一般格式:int arr[n] = {};如例一。 1.2.如何使用:首先用 for 迴圈初始化陣列 1.3數 組 名 的 含 義 : &arr+1; sizeof(arr); sizeof(arr[0]); 分別為 :陣列首地址加一;求陣列記憶體大小;求陣列首元素大小 1.4 arr 和&arr 的區別和聯絡元素大小: arr是陣列的首地址,&arr是陣列的地址,它們雖然地址是一樣的,但表示的意思是不同的。 arr+1表示向後偏移一個元素大小,(&arr)+1表示向後偏移一個數組的大小。 1.5 野指標: 野指標就是沒有初始化或者賦值的指標,不能進行解除引用操作() 譬如 int

p; *p=10;//編譯一般只會有警告,但是執行到這裡的時候會出錯 但是指標p本身的值是可以使用的,譬如可以 printf("%p",p); 但是printf("%d",*p);就是錯的 int a; int *p=&a; *p=10;//這是合法的 int *p=new int; *p=10;//合法的 delete p; 1.6區別sizeof()和strlen()的意思 舉例: char str[100] = “abcdef”; char *str2 = “abcdef”; char str3[] = “abcdef”; char str4[100] = “abcdef\0xyz”; char *str5 = “abcdef\0xyz”; char str6[] = “abcdef\0xyz”; char str7[] = “abcdef\n\0”; char *str8 = “abcdef\n\0”; printf("%d,%d\n",sizeof(str),strlen(str));//100 6 printf("%d,%d\n",sizeof(str2),strlen(str2));//4 6 printf("%d,%d\n",sizeof(str3),strlen(str3));//7 6 printf("%d,%d\n",sizeof(str4),strlen(str4));//7 6 100 9 /6 printf("%d,%d\n",sizeof(str5),strlen(str5));//4 6 printf("%d,%d\n",sizeof(str6),strlen(str6));//12 6 11 6 printf("%d,%d\n",sizeof(str7),strlen(str7));//11 8 11 7 9 7 printf("%d,%d\n",sizeof(str8),strlen(str8));//4 8 4 7

例題1.0 void fun1(int n) { int t,i;//定義變數為基本型別 int a[5]={2,4,6,8,10};//輸入陣列 for (i = 0; i < n/2; i++)//逐個輸出 { t = a[i]; a[i] = a[n - i - 1]; a[n - i - 1] = t; } for (i = 0; i < n; i++) printf("%5d", a[i]); }

int main() { fun1(5);//測試2,4,6,8,10

}