引用:
作者: leowang
大大所寫的程式好像都是用陣列去寫的
我還沒學到....我只學到函數
|
沒錯...,陣列 是超好用的... 但是鏈結用起來比較難
能存資料的基本類型
1.變數
2.陣列
3.鏈結
變數跟陣列的宣告差不多,語法也差不多 ...
鏈結就不一樣了,又臭又長 ... 很不好懂,厲害的程式以鏈結為主
甚至能衍生出更厲害的結構 ...
常用變數宣告
int 整數 ;佔 2 個 Byte
float 浮點數 ;佔 4 個 Byte
char 字元 ;佔 1 個 Byte
常用陣列宣告
int 整數[n] ;佔 2 * n 個 Byte
float 浮點數[n] ;佔 4 *n 個 Byte
char 字元[n] ;佔 1 * n 個 Byte
n 指陣列大小
使用上變數陣列都可以在宣告時給予初值︰
如
引用:
int i=20;
float f=1.23;
char c='x';
printf ("i=%d\n",i );
printf ("f=%d\n",f );
printf ("c=%d\n",c );
c=100;
f=6.3;
c='a';
|
只要程式的變數再重新以 = 指定之前都會是當初宣告時給的值
陣列也是如此 ...
引用:
int i[5]={20,3,8,7,8};
float f[5]={1.23,6.3,8.2,7.6,5.1};
char c[5]={'A','B','C','D','\0'};
|
宣告上同一種的變數或陣列可以一次宣告
引用:
int i;
int j;
int k;
其實可以寫成
int i,j,k;
|
陣列的宣告
int A[5];
int B[]={1,2,3,4,5};
所佔用的記憶體一樣
A 是沒有指定初值,佔用 5 個元素
B 是依照初值用了5 個元素
以 C/C++ 來說
陣列宣告後要用
以 int A[5];
其實是 A[0],A[1],A[2],A[3],A[4] 共 5 個,
可以各別給職 如 A[3] = 100;
字元陣列比較特別 char x[5];
初值可以用 char x[5]={'A','B','C','D','\0'};
初值也可以用 char x[5]="ABCD";
'\0' 代表該字串的結束或結尾,這是 C/C++ 規定的
宣告後要改變內容不像 int 或 float 用 = 就能改變
而是必須用 strcpy (目的,來源); 來改變該字元陣列的內容
如 strcpy (x,"ABCD"); x 才會是 ABCD。
'A' 為字元 A
"A" 為字串 A (會佔 2 個 Byte,'A','\0')
可以用跟等到你學到了就清楚是怎麼一回事了。