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

c語言結構體初始化

發布時間: 2022-02-06 22:28:23

c語言,結構變數初始化

#include<stdio.h>
#include<string.h>
structstudent
{
charname[10];
intage;
structstudent*next;
};
voidmain()
{
structstudent*header,*p;
structstudentc={"qianfeng3",20,NULL};//只有在定義結構體變數時,才能進行數據初始化賦值,且abc三個的順序要這樣寫,因為有&c&b的變數取地址操作,所以,要先有定義,才能使用變數
structstudentb={"qianfeng2",19,&c};
structstudenta={"qianfeng1",18,&b};
p=&a;
while(p)
{
printf("%s,%d ",p->name,p->age);
p=p->next;
}
}

⑵ c語言結構體初始化問題

結構體包含哪些具體數據?

我的想法是定義結構體數組,下標表示坐標。數據部分有一個速度。。。。
直接for循環。。。每一個賦值0就完啦。。。

⑶ C語言結構體初始化操作是什麼意思

定義變數的同時給變數賦值 即為變數的初始化,例如: int year = 2003;

結構體 也類似的啦,
struct BOOK
{
char name[100];
float price;
};
struct BOOK book_1 = {"C語言", 25.0};

⑷ C語言結構體里的結構體怎麼初始化

中間又有結構體嵌套,你的格式應該是{{
..{}..},{..{}..},...}
其實一般不這么初始化,定義全局靜態變數或者指針,指針的話通過malloc分配內存,然後通過->訪問結構體成員,靜態變數的通過.訪問成員,然後賦值。

⑸ c語言如何對結構體某一成員初始化

結構體與類一樣可以定義一個構造函數。
如下:
struct s{
s(){
a=0;
}
int a;
};
每次聲明一個結構體變數時都會調用結構體的構造函數,在構造函數裡面添加初始化語句就可以了

⑹ 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 ;};

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

在程序里,數據初始化也可能在沒有由明確的語法來實現的情況下進行。例如說,如果一個靜態變數在沒有初始化(即未指定初值)的情況下被聲明,則:對於原生數據類型:以對應類型的零值進行初始化;對於類中的靜態對象:由其默認的構造函數來進行初始化。

每一個初始化部分裡面的代碼在程序運行後,或庫的begin-end塊運行之前。delphi使用對單元相關樹的深度優先遍歷來運行初始化部分。換句話說,就只在一個單元的初始化代碼運行前,delphi就運行了特他使用的每一個單元的初始化部分。每一個單元僅初始化一次 。

⑺ c語言結構體初始化

你已經定義了一個mem1,下一句又定義了一個mem1,所以它會提示你多次定義了,應該把第二個struct Mem去掉吧

⑻ C語言結構體初始化問題

#include<stdio.h>
#include<string.h>
#defineNUM4

typedefstructstudent{
intrank;/*學生排名*/
charname[20];/*學生姓名*/
floatscore;/*學生成績*/
}STU;

STUstu[4]={{3,"Tom",89.3f},{4,"Mary",78.2f},{1,"Jack",95.1f},{2,"Jim",90.6f}};

intmain(void){
charnames[10];
inti,flag=1;
while(1){
printf("Entreaname:");
scanf("%s",names);
if(names[0]=='0')//
return0;
for(i=0;i<NUM;i++){
if(strcmp(names,stu[i].name)==0){
printf("name:%s",stu[i].name);
printf("rank:%d",stu[i].rank);
printf("average:%6.2f ",stu[i].score);
flag=0;
continue;
}
}
if(flag)printf("Notfound ");
return0;
}
}

⑼ C語言結構體里的結構體怎麼初始化

方法是在定義變數的同時給其一初始值。結構體變數的初始化,遵循相同的規律。
簡單變數的初始化形式如下:
數據類型 變數名=初始化值;
例如,定義整型變數a,並給其初始化值10的語句如下
int a=10;
數組的初始化,需要通過一常量數據列表,對其數組元素分別進行初始化,形式如下:
數據類型 數組名稱〔數組長度〕={初始化值1,初始化值2,…, 初始化值n};
例如,定義長度為5的整型數組,並對其初始化的語句如下:
int A[5]={20,21,0,3,4};
結構體變數的初始化方式與數組類似,分別給結構體的成員變數以初始值,而結構體成員變數的初始化遵循簡單變數或數組的初始化方法。具體的形式如下:
struct 結構體標識符
{
成員變數列表;

};
struct結構體標識符 變數名={初始化值1,初始化值2,…, 初始化值n };
例如,定義struct Point類型變數,並初始化的語句如下:
struct Point oP1={0.0,0.2,0.3};
struct Point類型變數oP1的三個成員變數的值分別為
oP1.x=0.0,
oP1.y=0.2
oP1.z=0.3
由於定義結構體變數有三種方法,因此初始化結構體變數的方法對應有三種,上面已經介紹了其中的一種形式,其他兩種形式如下:
struct Point
{
double x;
double y;
double z;
} oP1={0.0,0.2,0.3}; struct
{
double x;
double y;
double z;
} oP1={0.0,0.2,0.3};
在初始化結構體變數時候,既可以初始化其全部成員變數,也可以僅僅對其中部分的成員變數進行初始化。例如:
struct Student
{
long id;
char name[20];
char sex;
}a= {0};
其相當於a.id=0;a.name=「」;a.sex=『\0x0』。
僅僅對其中部分的成員變數進行初始化,要求初始化的數據至少有一個,其他沒有初始化的成員變數由系統完成初始化,為其提供預設的初始化值。

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

C語言結構體類型變數初始化分為 普通變數 和 數組變數 兩種形式,說明如下:

typedefstruct
{
intx,y;
}direction;
directiondir={1,2};//普通變數,用一組{}括起來,成員變數數據間以逗號分隔,按變數定義順序對應數值。未賦值成員,默認填0
directionmove[8]={//數組變數,整體用一組{}括起來,每一個元素按普通變數格式進行書寫,各元素間用逗號分隔。未賦值元素,默認填0
{0,0},{0,1},{1,0},{1,1},
{2,0},{2,1},{3,0},{3,1}
};
熱點內容
如何打開u盤文件夾 發布:2024-12-28 02:23:43 瀏覽:781
pascal有哪些編譯器 發布:2024-12-28 02:16:45 瀏覽:97
雲存儲錄像機 發布:2024-12-28 02:16:36 瀏覽:205
hp伺服器如何裝系統 發布:2024-12-28 02:12:14 瀏覽:155
python3utf8 發布:2024-12-28 02:12:07 瀏覽:641
安卓微信現在怎麼掃碼登錄 發布:2024-12-28 02:07:15 瀏覽:942
中國系統安卓蘋果還有什麼 發布:2024-12-28 01:59:28 瀏覽:341
這里的秘密碼是多少 發布:2024-12-28 01:58:07 瀏覽:481
rce訪問 發布:2024-12-28 01:57:58 瀏覽:478
java工程師招生 發布:2024-12-28 01:49:23 瀏覽:603