① c語言中怎麼把一維數組初始化為全零啊,不用循環
下面3種方法:
1.int arr[10]={0};
如果只對數組的一部分進行初始化,則編譯器將把其他元素設置為0。因此,當只將第一個元素初始化為0時,編譯器會自動將其他元素設為0 (就像前一句說的那樣)。
2.int arr[31]={};
3.用memset函數在程序開始時初始化數組。比如:
int arr[1024];
memset(arr, 0, 1024); //清零
(1)c語言數組初始化教程擴展閱讀:
memset()函數原型是extern void *memset(void *buffer, int c, int count) buffer:為指針或是數組,c:是賦給buffer的值,count:是buffer的長度。
函數解釋:將s中當前位置後面的n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法 ,它通常為新申請的內存做初始化工作。
② C語言字元數組如何初始化
1、直接逐個初始化字元數組:
字元數組的初始化,最容易理解的方式就是逐個字元賦給數組中各元素。
char str[10]={ 'I',' ','a','m',' ',『h』,'a','p','p','y'};
注意:如果花括弧中提供的字元個數大於數組長度,則按語法錯誤處理;若小於數組長度,則只將這些字元數組中前面那些元素,其餘的元素自動定為空字元(即'\0'
)。
2、用字元串常量來初始化字元數組:
在c語言中,將字元串作為字元數組來處理。因此可以使用字元串來初始化字元數組。
char str[]={"I am happy"};
也可以省略花括弧。
char str[]="I am happy";
但是,上述這種字元數組的整體賦值只能在字元數組初始化時使用,不能用於字元數組的賦值,字元數組的賦值只能對其元素一一賦值,下面的賦值方法是錯誤的。
char str[];
str="I am happy";//錯誤,字元數組的賦值只能按元素一一賦值
③ C語言數組的初始化表示方法
不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。
我們可以這樣定義
#define N 5
int a[N]
這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];
對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。
所有當表示浮點型可以定義為例如float a[10]。 舉例如下:
(3)c語言數組初始化教程擴展閱讀
數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。
數組名後是由方括弧括起來的常量表達式,不能使用其他括弧
④ 簡單的c語言數組初始化
一般對數組初始化可以用以下方法實現:
1、在定義數組時對數組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經過上面的定義和初始化後,a[0]=0,a[1]=1,…,a[9]=9。
2、初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數組有10個元素,但只對其中前5個元素賦了初值,後5個元素初值為0。
3、如果想使一個數組的元素值全部為0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
不能用:
static int a[10]={0*10};
如果對static型數組不賦初值,系統會對定義的所有數組元素自動賦以0值。
4、在對全部數組元素賦初值時,可以不指定數組長度。
⑤ C語言中怎麼把一維數組初始化都為0,
1、首先,需要定義數組,數組常用類型有int型,float浮點型,char字元型等,輸入即可定義。
⑥ C語言數組的初始化表示方法
C語言數組的初始化表示方法有4種,分別是:
1、定義的同時進行初始化,我們同樣用數組的初始化引出結構體的初始化,我們知道數組在定義的同時進行初始化的代碼如下:
int nums[] = {1, 3, 5};
由此可推出結構體在定義的同時進行初始化的代碼如下:
struct Person p = {"lee", 23, 1.8};
2、先定義再進行初始化,這種初始化方法其實昨天的內容里已經寫過了,代碼如下:
struct Person p;
p.name = "lee";
p.age = 23;
p.height = 1.8;
我們知道數據定義好後就不能對其進行一次性初始化了,比如如下代碼是編譯不通過的。
int nums[3];
num = {1, 2, 3}
3、第三種結構體比較例外,它可以這樣做,只不過需要對其進行一下強制類型轉換,代碼如下:
struct Person p;
p = (struct Person){"xq, 8, 8.8}
4、指定將數據賦值給指定的屬性,數組中我們見過這種寫法,代碼如下:
int nums[3] = {[0] = 2, [2] = 1, [1] = 2};
我們可以為不同的索引指定值,並不需要一定要按順序來,所以數組可以,結構體是否可以呢,當然,代碼如下:
struct Person p = {.height = 1.8, .name = "lee", .age = 23};
⑦ c語言如何初始化數組
舉例說明:
第1種定義部分初始化:int a[4]={ 1,2,3,4 };
第2種運行時初始化:int a[4],i; for ( i=0;i<4;i++ ) a[i]=i+1;
第3種運行時手動輸入值初始化:int a[4],i; for ( i=0;i<4;i++ ) scanf("%d",a+i);
第4種讀取文件初始化:
int a[4]; FILE *fp; if ( fp=fopen("Init.dat","rb") ) { fread(a,sizeof(a),1,fp); fclose(fp); }
⑧ C語言字元數組如何初始化
C語言允許用字元串的方式對數組作初始化賦值。例如:
static char c[]={'c',' ','p','r','o','g','r','a','m'}; 可寫為:
static char c[]={"C program"}; 或去掉{}寫為:
static char c[]="C program";
當對全體元素賦初值時也可以省去長度說明。例如:static char c[]={`c`,` `,`p`,`r`,`o`,`g`,`r`,`a`,`m`};這時C數組的長度自動定為9。
(8)c語言數組初始化教程擴展閱讀:
數組的使用規則:
1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
網路-數組
⑨ C語言 三維數組初始化
方法和詳細的操作步驟如下:
1、第一步,需要定義數組。
數組的常見類型是int,float,char等,可以通過輸入進行定義,見下圖,轉到下面的步驟。
⑩ c語言,結構體數組怎麼初始化
對於數組元素很多的初始化可以使用初始化列表方法。在c語言中用於進行初始化的程序結構則稱為初始化器或初始化列表。
1、初始化器
初始化器是聲明器的可選部分,它由一個'='以及其後的一個表達式(或含有多個以','隔開的帶圓括弧表達式的單一列表)所組成。後面這一列表有時也被稱為「初始化(器)列表」(initializer list)或」初始化列表」(initialization list)。
例:
public class Curry
{public string MainIngredient { get; set; }
public string Style { get; set; }
public int Spiciness { get; set; }}
2、初始化列表
一個類/結構的構造函數可以在定義中於構造函數體前包含一個初始化列表,用以給類/結構的元素賦初值。
例:
class foo
{public:
foo(string s, int i):name(s), id(i){} ; // 初始化列表
private:
string name ;int id ;};
(10)c語言數組初始化教程擴展閱讀
在程序里,數據初始化也可能在沒有由明確的語法來實現的情況下進行。例如說,如果一個靜態變數在沒有初始化(即未指定初值)的情況下被聲明,則:對於原生數據類型:以對應類型的零值進行初始化;對於類中的靜態對象:由其默認的構造函數來進行初始化。
每一個初始化部分裡面的代碼在程序運行後,或庫的begin-end塊運行之前。delphi使用對單元相關樹的深度優先遍歷來運行初始化部分。換句話說,就只在一個單元的初始化代碼運行前,delphi就運行了特他使用的每一個單元的初始化部分。每一個單元僅初始化一次 。