當前位置:首頁 » 編程語言 » c語言初始化結構體數組

c語言初始化結構體數組

發布時間: 2022-06-13 00:32:51

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吧?呵呵

② C語言中,如何用鍵盤初始化結構體數組里的元素

for (int i=0; i<3; i++)
{
scanf("%d", &(stu[i].num));
fflush(stdin);
scanf("%s", stu[i].name);
scanf(" %c", &(stu[i].sex)); //%c前一定要有空格
scanf("%d", &(stu[i].age));
for (int j=0; j<3; j++)
scanf("%f", &(stu[i].score[j]));
scanf("%d", &(stu[i].class));
}

取地址符前的括弧可以不要,要更加清晰。

③ C語言數組 初始化

1
數組可以是任何類型的,不限於int和char,結構體數組也可以
2
數組自然是為了訪問方便,相同類型的一系列變數
3
局部變數未初始化的話值未知,全局的話是
0
4
多數時候給
0
就行了

④ c語言 在結構體中 初始化其中的數組

結構體是個空架子,是無法「初始化其中的數組」的,只有初始化結構體的對象(即變數)。像你這里可以這么做:在使用這個結構體前寫一句struct
bf
x={NULL,NULL,NULL,NULL};,那麼x中的所有字元數組就都為空了。

⑤ 結構體數組怎麼初始化

結構體數組在定義的同時也可以初始化,例如:

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}

};

(5)c語言初始化結構體數組擴展閱讀:

定義結構體數組和定義結構體變數的方式類似,請看下面的例子:

struct stu{

char *name; //姓名

int num; //學號

int age; //年齡

char group; //所在小組

float score; //成績

}class[5];

表示一個班級有5個學生。

⑥ C語言數組的初始化表示方法

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

我們可以這樣定義

#define N 5

int a[N]

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

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

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

(6)c語言初始化結構體數組擴展閱讀

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

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

⑦ c語言怎麼初始化結構體中的數組

和正常初始化差不多 單獨一個大括弧括起來就可以了

比如

structA
{
inta[3];
floatb;
charc[10];
};

可以

structAa={{1,2,3},1.2,"abc"};

⑧ 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);
隨便舉幾個例子,寫法不嚴謹(越往後方法越那什麼...),大佬輕噴

⑨ c語言怎麼結構數據初始化

C語言
結構體類型
變數初始化分為
普通變數

數組變數
兩種形式,說明如下:
typedef struct
{
int x,y;
}
direction
;
direction dir={1,2} ; //普通變數,用一組{}括起來,成員變數數據間以逗號分隔,按變數定義順序對應數值。未賦值成員,默認填0
direction move[8]={ //數組變數,整體用一組{}括起來,每一個元素按普通變數格式進行書寫,各元素間用逗號分隔。未賦值元素,默認填0
{0,0},{0,1},{1,0},{1,1},
{2,0},{2,1},{3,0},{3,1}
};

⑩ 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就運行了特他使用的每一個單元的初始化部分。每一個單元僅初始化一次 。

熱點內容
c程序如何編譯 發布:2024-05-04 22:58:05 瀏覽:930
蘋果手機怎麼查看id密碼 發布:2024-05-04 22:54:49 瀏覽:657
家有三相電如何配置音響設備 發布:2024-05-04 22:53:42 瀏覽:54
三星存儲器已幾乎滿 發布:2024-05-04 22:47:38 瀏覽:735
mf90pos機密碼是什麼 發布:2024-05-04 22:24:04 瀏覽:750
編譯預處理和函數區別 發布:2024-05-04 22:16:49 瀏覽:431
java復選框 發布:2024-05-04 22:13:24 瀏覽:529
安卓怎麼玩頁游 發布:2024-05-04 22:03:17 瀏覽:142
編譯器後面的代碼消失 發布:2024-05-04 22:02:11 瀏覽:61
openwrt編譯ipk 發布:2024-05-04 22:00:25 瀏覽:830