1樓:格里程式設計辦公技巧
*第一步定義student結構體*/
結構體要有結構體名稱,除非在別的地方不用這個結構體,只在這裡宣告結構體並定義,沒有名稱在其它地方無法定義結構體變數*/
另外定義結構體時儘量把字元變數放在一起,放在前面,這樣可以減少結構體在記憶體中的實際大小,因為有記憶體對齊*/
struct student
這個位址結構體可以不寫結構體名稱,一般只在student裡用,其它地方不用*/
struct
char road[20];
char city[20];
unsigned int postnumber;/*用unsigned型別,表示範圍大點,因為這個不可能為負數*/
address;
unsigned int no;
float score;
*可以在這裡同時定義變數student1, student2;不建議這麼做,因為結構體一般在函式外宣告,這麼定義就是全域性變數,程式設計儘量減少全域性變數,不易除錯跟蹤*/
在函式中需要定義結構體變數如下*/
struct student student1;
struct student student2;
定義兩個結構體變數student1和student
2樓:心裡獅
#include
using namespace std;
struct date //宣告結構體型別為date; struct student //宣告結構體型別為student
student1,student2=; //定義student型別的變數student1,student2,並且對student2進行初始化。
int main()
結構體型別名和結構體變數名必須一致嗎?例如struct student { }student1,student
3樓:網友
沒這個必要。
結構體類爛簡型,是乙個型別。比如人類。這是乙個型別。是人的集合總稱。
結構枝瞎體變數是乙個實體物件。比如張三。這是乙個真實的人。
所以,上述的問題就相當於,是不是人名必須按照人類1,2,3這個序猛歷空號來取名。答案是沒必要。
用結構體輸入兩個學生的學號、姓名和成績,輸出 成績較高的學生的學號、姓名和成績。
4樓:yesyes科
1、首先在程式設計軟體中,引入頭部的方法**。
2、實現動態陣列在結構體中間的方法**,如下圖所示。
3、執行測試的結果,如下圖所示。
4、接著輸入實現動態陣列在結構體末尾的方法**,如下圖所示。
5、最後執行測試結果,如下圖所示,就完成了結構體中使用動態陣列輸出資料。
5樓:娛樂小八卦啊
**如下:
#include
#include
int main()
struct student//宣告結構體型別。
int num;
char name[20];
float score;
student1,student2;//定義兩個結構體變數。
輸入兩個學生的資料。
printf("the higher score is:");
if(>
printf("%d %s %",else if("%d %s %",elseprintf("%d %s %",printf("%d %s %",return 0;
6樓:程式設計師殷保華
上面這2句不對,可以編譯成功,但是儲存的值是錯誤的,因為它會把「逗號」當作字元送給了%s,所以最後面的%d沒有輸入資料。
可以換成空格。
scanf() 開始讀取輸入以後,會在遇到的第乙個空白字元空格(blank)、製表符(tab)或者換行符(newline)處停止讀取。
#include
struct student
int num;
char name[20];
float score;
void main()
struct student student1,student2;
if(>
printf("%s(%d):%",elseprintf("%s(%d):%",
定義乙個學生結構體型別
7樓:
struct student
注意不要忽略最後的分號。上面是由程式設計者制定了乙個新的結構體型別「struct student」,這是乙個型別名,它和int、float神馬的具有一樣的地位,都可以用來定義變數型別。
上面只是定義了乙個型別,若要定義結構體變數,還需要再寫語句:
struct student student1, student2;
這就定義了兩個變數名分別為「student1」和「student2」的結構體變數。
當然也可以在宣告結構體型別的同時定義變數:
struct student
student1,student2; 宣告型別和宣告變數一次性搞定*/
還可以直接定義結構體型別變數:
struct 不出現結構體名student*/student1,student2; 直接定義的結構體變數*/
8樓:網友
struct student;
不知你想要得是不是這個?
關於結構體變數的問題
9樓:在下姓周
程式沒有問題,執行正常。
不知你的問題是?
10樓:網友
如果賦值為07031007,已經不是duoble型別,而為字元型別。
修改可如下 char num[20]; no.:%s
或者賦值為正常實數,0開頭的數值不是double類。
c語言結構體問題,
11樓:一頓能吃五碗飯
c++允許使用者根據需要自己宣告一些型別,使用者可以自己宣告的型別還有結構體型別(structure)、共用體型別(union)、列舉型別(enumeration)、類型別(class )等,這些統稱為使用者自定義型別(user-defined type,udt)。
struct student_type,你已經使用結構體型別已經定義了student_type這樣乙個自定義型別,在下面**中就可以直接單獨使用student_type來定義結構體變數。
在c++裡很簡單,直接。
struct student
於是就定義了結構體型別student,宣告變數時直接student stu2;
c語言中使用:
typedef struct student
在宣告變數的時候:可以直接student stu1;(但是沒有typedef就必須用struct student stu1;來宣告)
12樓:網友
struct student_type student1,這個是c語言的寫法;
student_type student1,這是c++的寫法。
前輩指點:我寫了乙個student結構體,定義了乙個該結構體的變數student1,見問題補充
13樓:網友
對於程式設計師來說,完全可以把student1當作乙個擁有自己大小的變數本身來看,和int、char、double同樣看待。不過編譯器處理的時候不會像int、char、double處理,確實把結構體用乙個位址表示,使用結構體裡面的成員會通過相應的偏移量來引用它。
例如:struct student a, b;
你完全可以這樣賦值,a = b;這樣編譯器會把b的所有單元拷貝到a,這是指標做不到的。如int * a, *b; a = b;這樣只是把b指標賦值到a,b所指向的單元和a指向的單元是共享的。
14樓:網友
結構定義和結構變數就象是圖紙和零件的關係,有圖紙並非一定有零件,但有零件一定有圖紙。
如果只有結構定義,那麼系統是不會給結構定義分配記憶體的,只有申明瞭乙個實實在在的結構變數後,系統才會為它分配記憶體,才能被訪問。
汽車點火開關ACC,IG1,ST1,IG2,ST2分別是什麼
酒醒當廬仍是你 點火開關四個檔位,lock 關閉檔 acc 收音機檔 on 點火檔 start 起動檔 鎖車後鑰匙會處於lock狀態,此時鑰匙門不僅鎖住方向,同時切斷全車電源。acc狀態是接通汽車部分電器裝置的電源,如cd 空調等。正常行車時鑰匙處於on狀態,這時全車所有電路都處於工作狀態。而sta...
硬碟快壞了,st 1tb的西部資料和st如果2tb的哪個
你如果要買電腦內建的硬碟,去買wd新推出的紅盤,比綠盤效能好,但噪音很低。建議別買黑盤,發熱很凶的。紅盤是今年七月才出的新品,主要針對nas客戶。但是作為桌上型電腦硬碟,肯定很好。我買了一個3t的紅盤,用hd tune測出來平均速度有130mb s,比綠盤的95mb s要快得多了。現在買紅盤還是只有...
vivoX1ST用什麼刷root軟體好
最簡單的方法,使用一鍵root 推薦你還是使用第三方刷機工具進行破解root,zroot只是給你乙個方法,但是都是一樣的,那就是破解root,你可以試試甜椒,卓大師,刷機精靈,,綠豆,深度刷機等等,如果都不行,再試試手機端破解,kingroot,zroot. 開啟後將會出現兩個選項,第乙個是臨時ro...