數(shù)組初始化方式有哪些?
2023-06-25 17:22:19 閱讀(193)
excel數(shù)組初始化方法?
您還可以使用利用Evaluate函數(shù)和靜態(tài)數(shù)組的速記格式.在下面的代碼中,設(shè)置varData,其中[]是Evaluate函數(shù)的簡(jiǎn)寫,{…}表達(dá)式表示靜態(tài)數(shù)組.每行用a分隔;每個(gè)字段用a分隔.它可以使您獲得與simoco代碼相同的最終結(jié)果,但語(yǔ)法更接近原始問(wèn)題: Sub ArrayShorthand() Dim varData As Variant Dim intCounter1 As Integer Dim intCounter2 As Integer ' set the array varData = [{1, 2, 3; 4, 5, 6; 7, 8, 9}] ' test For intCounter1 = 1 To UBound(varData, 1) For intCounter2 = 1 To UBound(varData, 2) Debug.Print varData(intCounter1, intCounter2) Next intCounter2 Next intCounter1 End Sub
字符串?dāng)?shù)組的初始化方式?
1、直接逐個(gè)初始化字符數(shù)組:字符數(shù)組的初始化,最容易理解的方式就是逐個(gè)字符賦給數(shù)組中各元素。 1 char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};注意:如果花括號(hào)中提供的字符個(gè)數(shù)大于數(shù)組長(zhǎng)度,則按語(yǔ)法錯(cuò)誤處理;若小于數(shù)組長(zhǎng)度,則只將這些字符數(shù)組中前面那些元素,其余的元素自動(dòng)定為空字符(即'\0' )。 2、用字符串常量來(lái)初始化字符數(shù)組: 在c語(yǔ)言中,將字符串作為字符數(shù)組來(lái)處理。因此可以使用字符串來(lái)初始化字符數(shù)組。1 char str[]={"I am happy"};也可以省略花括號(hào)。1 char str[]="I am happy";但是,上述這種字符數(shù)組的整體賦值只能在字符數(shù)組初始化時(shí)使用,不能用于字符數(shù)組的賦值,字符數(shù)組的賦值只能對(duì)其元素一一賦值,下面的賦值方法是錯(cuò)誤的。12 char str[];str="I am happy";//錯(cuò)誤,字符數(shù)組的賦值只能按元素一一賦值
C語(yǔ)言數(shù)組初始化值如何計(jì)算?
C語(yǔ)言數(shù)組的初始化表示方法有4種,分別是: 1、定義的同時(shí)進(jìn)行初始化,我們同樣用數(shù)組的初始化引出結(jié)構(gòu)體的初始化,我們知道數(shù)組在定義的同時(shí)進(jìn)行初始化的代碼如下: int nums[] = {1, 3, 5}; 由此可推出結(jié)構(gòu)體在定義的同時(shí)進(jìn)行初始化的代碼如下: struct Person p = {"lee", 23, 1.8}; 2、先定義再進(jìn)行初始化,這種初始化方法其實(shí)昨天的內(nèi)容里已經(jīng)寫過(guò)了,代碼如下: struct Person p; p.name = "lee"; p.age = 23; p.height = 1.8; 我們知道數(shù)據(jù)定義好后就不能對(duì)其進(jìn)行一次性初始化了,比如如下代碼是編譯不通過(guò)的。 int nums[3]; num = {1, 2, 3} 3、第三種結(jié)構(gòu)體比較例外,它可以這樣做,只不過(guò)需要對(duì)其進(jìn)行一下強(qiáng)制類型轉(zhuǎn)換,代碼如下: struct Person p; p = (struct Person){"xq, 8, 8.8} 4、指定將數(shù)據(jù)賦值給指定的屬性,數(shù)組中我們見(jiàn)過(guò)這種寫法,代碼如下: int nums[3] = {[0] = 2, [2] = 1, [1] = 2}; 我們可以為不同的索引指定值,并不需要一定要按順序來(lái),所以數(shù)組可以,結(jié)構(gòu)體是否可以呢,當(dāng)然,代碼如下: struct Person p = {.height = 1.8, .name = "lee", .age = 23};
struct數(shù)組初始化?
C 語(yǔ)言沒(méi)有構(gòu)造函數(shù)的概念。如同內(nèi)建類型的變量, 定義全局或靜態(tài)的 struct 變量時(shí),其成員會(huì)初始化為零; 定義局部的 struct 變量時(shí),其成員為不確定值。 C 語(yǔ)言可對(duì) struct(以及 union 和數(shù)組)變量使用初始化列表,如: C++ 在沒(méi)有構(gòu)造函數(shù)、沒(méi)有繼承基類、沒(méi)有私有/保護(hù)的非成員變量等條件下(詳看 聚合初始化 ),也可以用初始化列表,與 C 兼容;但 designator 語(yǔ)法在 C++20 才會(huì)有。 在實(shí)踐上,雖然 C 語(yǔ)言沒(méi)有構(gòu)造函數(shù)的概念,也不妨礙使用者自行定義函數(shù)作初始化,如: 或 這種 struct 初始化方式的「優(yōu)點(diǎn)」是,使用者可用多個(gè)不同名字的函數(shù)定義不同的初始化方式。而 C++ 構(gòu)造函數(shù)必須和類同名,只能通過(guò)參數(shù)類型來(lái)區(qū)分,例如用 std::piecewise_construct 這些東西。 缺點(diǎn)是,無(wú)法規(guī)避使用者不調(diào)用函數(shù),而 C++ 是可以自動(dòng)調(diào)用缺省構(gòu)造函數(shù),或故意產(chǎn)生編譯錯(cuò)誤,令使用者知道忘記了寫初始化參數(shù),從而避免了一些 bug。相似地,C++ 也有析構(gòu)函數(shù),兩者造就 C++ 的一大特徵 RAII(Resource Acquisition Is Initialization)。
結(jié)構(gòu)體數(shù)組怎么初始化?
struct city_t { char name[20]; double population; double housing; double ave; }; struct city_t cities[2] = {{"a", 1,1,1}, {"b", 1,1,1}};
二維數(shù)組初始化時(shí)有哪些情況?
一種,按行分段對(duì)二維數(shù)組進(jìn)行初始化。 例如:int a【2】【3】={{1,2,3},{4,5,6}i 一種,按行連續(xù)二維二維數(shù)組進(jìn)行初始化。 例如:int a【2】【3】={1,2,3,4,5,6} 可以全部賦值,也可以部分賦值。
c語(yǔ)言數(shù)組可以不初始化怎么辦?
C語(yǔ)言中,如果不對(duì)變量作初始化時(shí),全局變量可以自動(dòng)初始化為0值。 局部變量的話,變量如果不作初始化時(shí),其中的值是不確定的。
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處