陣列相關注意

2021-09-01 12:57:21 字數 1011 閱讀 4490

一維陣列:如 a[10]

注意事項: 1.常量表示式中不能包括變數,如

int i;

scanf("%d",%i);

int a[i];

是不可行的。

2.陣列元素的下標從0開始,如定義"int a[10];「最大下標值為9;常見錯誤有:

for(i=1;i<=10;i++) //迴圈變數從1開始,變到10

a[i]=i; //下標從1開始,變到10

for(i=10;i>=1;i–) //試圖輸出a[10]~a[1]

printf(」%d",a[i]);

二維陣列: 如 a[3][4]

1.在引用陣列元素時,下標值應在已定義的陣列大小的範圍內。行序號和列序號均從0起算。

2.在定義陣列時對第一維的長度可以不指定,但第二維的長度可以不能省。例如

int a[3][4]=;

等價於int a[4]=;

系統會根據總個數和第二維的長度算出第一維的長度。

字元陣列:如char c[2];

c[0]=『w』;c[1]=『e』;

1.陣列定義的長度應大於等於字串中包括』\0』在內的字元個數。』\0』是字串結束標誌。

2.陣列本身是乙個位址。可輸入scanf("%s",c); 陣列名表示陣列第乙個元素的位址。

3.不能用賦值語句將乙個字串常量或字元陣列直接給乙個字元陣列。以下兩行都是不合法的。

str1=「china」; //企圖用賦值語句將乙個字串常量直接賦給乙個字元陣列

str1=str2; //企圖用賦值語句將乙個字元陣列直接賦給另乙個字元陣列

應用strcpy進行複製。如

char a[5],c1,c2;

c1=『a』;

c2=『b』;

a[0]=『c』; a[1]=『h』; a[2]=『i』; a[3]=『n』; a[4]=『a』;

4.在使用字串處理函式時,應當在程式檔案的開頭用

#include

把string.h檔案包含到本檔案中。

DllMain相關注意事項

1 在dllmain的dll process attach分支中,盡量只呼叫kernel32.dll中的函式。因為其他系統api可能依賴於其他dll,而那些dll有可能還沒有被載入到程序空間中且依賴於當前dllmain所在的dll,這樣會導致迴圈依賴 其實,在使用者程序中呼叫其他系統模組的api一般...

git相關注意事項

git的相關注意事項 git add 新增所有修改到暫存區。git reset head file add之後發現錯誤,撤銷 add的檔案到暫存區。git add file後進行 git commit m 修改某某檔案 後發現錯誤 要撤銷。解決方式 git log 檢視提交到暫存區的 commit ...

Hive相關注意事項

1.load data locall inpath into table xx 如果是本地路徑,其實就是一次put上傳操作 如果路徑是hdfs,其實是一次mv操作 2.建立分割槽表partitioned by 字段不能和表中列的字段重複 3.建立分桶表cluster by 必須是表中的某列的字段 4...