c語言結構數組初始化
A. c語言中,結構體初始化和數組初始化的寫法是不是一樣的求解,謝謝
結構體初始化:
structnode
{//各種類型的成員;
inta;
intb'
}
intmain()
{
structnodeA//結構體類型變數A;
}
數組:
intmain()
{
inta[100];
}
這兩個是不一樣的
望採納!!!
B. C語言數組的初始化表示方法
不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。
我們可以這樣定義
#define N 5
int a[N]
這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];
對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。
所有當表示浮點型可以定義為例如float a[10]。 舉例如下:
(2)c語言結構數組初始化擴展閱讀
數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。
數組名後是由方括弧括起來的常量表達式,不能使用其他括弧
C. 結構體數組怎麼初始化
結構體數組在定義的同時也可以初始化,例如:
struct stu{
char *name; //姓名
int num; //學號
int age; //年齡
char group; //所在小組
float score; //成績
}class[5] = {
{"Li ping", 5, 18, 'C', 145.0},
{"Zhang ping", 4, 19, 'A', 130.5},
{"He fang", 1, 18, 'A', 148.5},
{"Cheng ling", 2, 17, 'F', 139.0},
{"Wang ming", 3, 17, 'B', 144.5}
};
當對數組中全部元素賦值時,也可不給出數組長度,例如:
struct stu{
char *name; //姓名
int num; //學號
int age; //年齡
char group; //所在小組
float score; //成績
}class[] = {
{"Li ping", 5, 18, 'C', 145.0},
{"Zhang ping", 4, 19, 'A', 130.5},
{"He fang", 1, 18, 'A', 148.5},
{"Cheng ling", 2, 17, 'F', 139.0},
{"Wang ming", 3, 17, 'B', 144.5}
};
(3)c語言結構數組初始化擴展閱讀:
定義結構體數組和定義結構體變數的方式類似,請看下面的例子:
struct stu{
char *name; //姓名
int num; //學號
int age; //年齡
char group; //所在小組
float score; //成績
}class[5];
表示一個班級有5個學生。
D. 請問C語言中的結構體中的整型數組怎麼初始化
structstudent{
intnum;
charname;
floatscore[3]
}stu={1,'m',{90.1,90.2,90.3}};
這樣就行了,原題中的那個不叫初始化。
E. C語言數組 初始化
1
數組可以是任何類型的,不限於int和char,結構體數組也可以
2
數組自然是為了訪問方便,相同類型的一系列變數
3
局部變數未初始化的話值未知,全局的話是
0
4
多數時候給
0
就行了
F. c語言怎麼初始化結構體中的數組
和正常初始化差不多 單獨一個大括弧括起來就可以了
比如
structA
{
inta[3];
floatb;
charc[10];
};
可以
structAa={{1,2,3},1.2,"abc"};
G. C語言結構體數組的初始化
同學,你注意到了Create()函數裡面,你又定義了一句:
Listpr;
了么?這句話時關鍵,首先,你在main 函數(我猜應該是main吧)中寫道:
Listpr1=Creat("p1",2,1);
Insert(&pr1);
看,你這個pr1是個局部變數吧?只在main()中有效的。而你上面那個Create中定義的呢?也是個局部變數,只在Create()中有效。所以,即使你在Create()中費勁全力為pr賦值。等調用完Create()後,pr還是會消亡的,回到main,時,這里的pr1就是另一個List變數了。
總而言之,Creat()裡面的pr和main()裡面的pr1是完全不同的兩個變數。要想讓他們變成一個變數。可選用指針傳參。或者定義成全局變數。
另外,我一看到你的描述的那個「燙」字,就知道你用的是VC6.0吧?呵呵
H. 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 ;};
(8)c語言結構數組初始化擴展閱讀
在程序里,數據初始化也可能在沒有由明確的語法來實現的情況下進行。例如說,如果一個靜態變數在沒有初始化(即未指定初值)的情況下被聲明,則:對於原生數據類型:以對應類型的零值進行初始化;對於類中的靜態對象:由其默認的構造函數來進行初始化。
每一個初始化部分裡面的代碼在程序運行後,或庫的begin-end塊運行之前。delphi使用對單元相關樹的深度優先遍歷來運行初始化部分。換句話說,就只在一個單元的初始化代碼運行前,delphi就運行了特他使用的每一個單元的初始化部分。每一個單元僅初始化一次 。
I. C語言怎麼給結構體的數組初始化說的不太明白,具體看下面例子
struct x{
int a;
char b[10];
}c//或者 c={.b="kook"};(記不清要不要c99了)
//或者strcpy(c,"kook");(自己注意添加頭文件)
//或者c.b[0]='k';c.b[1]='o';c.b[2]='o';c.b[3]='k';
或者char *d="kook";
for(int i=0;i<strlen(d);i++)
c.b[i]=d[i];
printf("%s",c.b);
隨便舉幾個例子,寫法不嚴謹(越往後方法越那什麼...),大佬輕噴
J. c語言 在結構體中 初始化其中的數組
結構體是個空架子,是無法「初始化其中的數組」的,只有初始化結構體的對象(即變數)。像你這里可以這么做:在使用這個結構體前寫一句struct
bf
x={NULL,NULL,NULL,NULL};,那麼x中的所有字元數組就都為空了。