陣列 宣告 定義 追加 清楚操作 網上收集

2021-08-28 01:56:21 字數 2341 閱讀 5988

[關於宣告]

比較通用的做法,如ksh和bash

declare -a 陣列名

注意在ksh下還支援另外一種獨特的變數宣告賦值語法比較特殊。

set -a varname var1 var2 var3 varn

末了要說明一下,一般任意的shell下變數可以拿來就用,不必宣告。

[關於賦值]

下面的兩種這種方法適用於bash和ksh。

定義一

varname=(var1 var2 var3 varn)

定義二

varname[0]=var1

varname[1]=var2

varname[2]=var3

varname[n-1]=varn

定義三

在csh我們需要這樣定義:

set varname=(var1 var2 var3 varn)

set varname[1]=var1

set varname[2]=var2

set varname[3]=var3

set varname[n]=varn

特別注意在csh和其它shell中不同的是陣列的下標是從1開始的。

[關於引用]

全部引用

方法一

適用於bash、ksh、csh等大部分shell。

$方法二

只適用於bash、ksh,對於csh不適用。

$方法三

只適用於csh,不支援ksh和bash。

$varname

單獨引用

語法適用於bash、ksh、csh等大部分shell,但是在csh/tcsh下的意義和其它shell有差異。

$例如:echo $

請嚴格區分csh與bashcsh的區別。因為在csh中沒有下標為0的陣列元素,下標的序數是從1開始的。

陣列包含數值的數目

方法一:

只適用於bash和ksh,不支援csh。

$方法二:

只支援csh,不支援bash和ksh。

$#varname

陣列中某乙個值的字元長度

只適用於bash和ksh,不支援csh。

$在bash、ksh下$varname與$的含意是一樣的;$varname[1]與$含意是不一樣的,$varname[1]等價於$"[1]"。在csh下$varname與$的含意是一樣的。

[元素的新增、刪除]

刪除陣列中元素:

該方法適用於bash、ksh,不支援csh。

unset varname[5]

關於陣列中元素的值的清除,即置空:

bash和ksh下這樣操作,不支援csh

varname[5]= #清除陣列varname中的第六個元素

關於陣列的清除:

適用於bash、ksh、csh等大部分shell。

unset varname

向陣列中新增元素:

方法一、二只適用於bash、ksh,不適用於csh;

方法一:

varname=($ varn-1 varn varn+1)

方法二:

varname[$]=varn

方法三:

是csh特有的。

set varname=($varname varn+1 varn+2) #或者$varname用$替換。

[關於陣列的批量處理]

這部分內容,說白了就是綜合運用各種shell的內建迴圈命令。只要對前面的內容熟悉了,並對各種shell的迴圈命令有一定的了解,難度就不是很大。

由於涉及bashkshcsh下的實現及不同的語法形式,涉及陣列的賦值、新增和刪除元素、讀取多個方面。所以計畫單獨一篇文章來說明。

C 變數宣告定義

1.extern 宣告變數,在乙個檔案裡宣告以後,表示該變數要去其它檔案找變數,告訴編譯器 你現在編譯的檔案中,有乙個識別符號雖然沒有在本檔案或本檔案當前位置中定義,但是它是在別的檔案中或本檔案其它位置定義的全域性變數,你要放行!宣告變數 extern type variable 有extern,無...

宣告,定義,變數的含義

在c語言中,宣告 告訴計算機 編譯器 有,定義 讓計算機 編譯器 建立,宣告不建立,定義建立。變數在程式執行過程中,其值是可以改變的量 在c語言中,變數的宣告和定義是一體的,先定義 宣告 然後呼叫,呼叫必須在定義 宣告 之後。變數的定義格式為 修飾符 型別說明符 變數名識別符號,變數名識別符號,變數...

C 函式的宣告定義

include 宣告 extern char mystrstrpoint char dest,char src extern char mystrstrarr char dest,char src extern char mystrcat char dest,char src extern void...