當前位置:首頁 » 編程語言 » c語言數組如何只把前兩項初始
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數組如何只把前兩項初始

發布時間: 2022-07-20 17:28:44

c語言 數組初始化

1.
char
*ss[]="right?"這樣寫不對,
ss為指針數組,應該char
*ss[]={"right?"}。
2.
B項,定義包含6個元素的字元串指針數組ss,並將第二個元素賦值為"right?"所指向的地址。
D項,ss是一個二維字元數組,這里可以看成是包含6個字元串,每個字元串最多含20個字元。

ss[1]="right?"即將第二個字元串賦值為"right?".
3.
char
*ss[6];ss[1]="right?";是兩個語句,一個定義,一個賦值。

㈡ C語言中,如何把數組裡面的每一項都初始化為同一個值

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

㈢ c語言中怎麼把一維數組初始化為全零啊,不用循環

下面3種方法:

1.int arr[10]={0};

如果只對數組的一部分進行初始化,則編譯器將把其他元素設置為0。因此,當只將第一個元素初始化為0時,編譯器會自動將其他元素設為0 (就像前一句說的那樣)。

2.int arr[31]={};

3.用memset函數在程序開始時初始化數組。比如:

int arr[1024];

memset(arr, 0, 1024); //清零

(3)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、在定義數組時對數組元素賦以初值。如:
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語言、數組初始化

這個其實就是編譯器做的事情了,以下給出VC++中的反匯編情況:

在圖中,int a[10] = {0};高亮代碼開始到下一高亮代碼結束,之間的代碼即為這行高亮代碼的反匯編代碼,可以看到首先mov dword ptr [ebp-28h],0 即從a[0]的地址開始,填充了4個位元組的0;之後看到rep stos dword ptr [edi] 它是將eax的值賦給es:edi,循環ecx次,也就是將0從a[1]的地址開始填充9次,這也就是為什麼執行int a[10] = {0};這一行代碼之後,數組元素都被初始化為0的原因。

再看int b[10] = {1};高亮代碼下面的匯編代碼,mov dword ptr [ebp-50h],1 將b[0]賦為1;再看下面,與之前一樣的4行代碼就能知道,它是將0從b[1]的地址開始填充9次,這也解釋了為什麼執行了int b[10] = {1};後,b[0]為1而其他元素都為0。

㈥ C語言中的數組,如果只對其中一個元素進行初始化,其餘元素會怎麼樣

若 int a[5]={0}; 則意味著a數組的五個元素都為0,即0 0 0 0 0 ;
若 int a[5]={1}; 則意味著a數組的第一個元素值為1,其餘元素值為0,即1 0 0 0 0;
若 int a[5]={1,2}; 則意味著a數組的第一個元素為1,第二個元素為2,其餘為0,即1 2 0 0 0;
若 int a[5]={1,0,2}; 則意味著a內存儲的是1 0 2 0 0;
若 int a[5]; 則意味著a內存儲的是隨機垃圾值。

㈦ 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。

(7)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語言數組的初始化表示方法

不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。

我們可以這樣定義

#define N 5

int a[N]

這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];

對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。

所有當表示浮點型可以定義為例如float a[10]。 舉例如下:

(8)c語言數組如何只把前兩項初始擴展閱讀

數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。

數組名後是由方括弧括起來的常量表達式,不能使用其他括弧