⑴ 哪位大俠能夠給我講解一下c語言的結構體定義和調用!~!!!!
結構體就是把一些屬性定義放在一起定義,如:
typedef struct A
{
int c;
int b;
...
};
這樣如果在程序中使用c就可以用A來定義一個變數如 A a,這樣a就有了c,b的屬性(好像說屬性不太專業~~)。想調用就可以在程序中使用a.c了,如a.c = 3;
⑵ C語言結構體Struct怎麼使用
在Turbo C中,結構也是一種數據類型, 可以使用結構變數,因此,像其它類型的變數一樣,在使用結構變數時要先對其定義。
如果需要定義多個具有相同形式的結構變數時用這種方法比較方便,它先作結構說明,再用結構名來定義變數。
(2)c語言的結構體詳解擴展閱讀
指向結構體的指針是一個一直都沒有掌握好的點,希望這里能記錄好一點,加強理解。
對於指針有幾個好處,
第一:就像指向數組的指針比數組本身更容易操作一樣,指向結構的指針通常也更容易操作;
第二:在早期的C中參數傳遞只能使用結構的指針;
第三:很多奇妙的數據表示都是用了包含指向其他結構的指針的結構。
和數組不同,結構的名字不是該結構的地址(即單獨的結構名並不是該結構地址的同義詞),必須使用 & 運算符。
參考資料c語言結構體struct相關使用說明
⑶ c語言結構體
data是你定義的一個結構類型(類似於int),DT是一個data的變數(類似於int i)。p是一個指針,用於指向一個data變數。
data的定義常見於單鏈表的節點結構,包含數據和指針兩部分內容。數據當然是用來保存數據的,而指針用於把一個一個的節點串起來,在邏輯上形成一個鏈表
⑷ c語言結構體是什麼
C語言結構體(Struct)從本質上講是一種自定義的數據類型,只不過這種數據類型比較復雜,是由 int、char、float 等基本類型組成的。你可以認為結構體是一種聚合類型。
在實際開發中,我們可以將一組類型不同的、但是用來描述同一件事物的變數放到結構體中。例如,在校學生有姓名、年齡、身高、成績等屬性,學了結構體後,我們就不需要再定義多個變數了,將它們都放到結構體中即可。
簡介
關鍵字struct和結構體名組合成一種類型標識符,其地位如同通常的int、char等類型標識符,其用途就像 int 類型標識符標識整型變數一樣可以用來定義結構體變數。
定義變數以後,該變數就可以像定義的其他變數一樣使用了;成員又稱為成員變數,它是結構體所包含的若干個基本的結構類型,必須用「{}」括起來,並且要以分號結束,每個成員應表明具體的數據類型。
⑸ C語言的結構體
/*給你改了幾個地方 注釋都寫了 這種求最大值的函數 一定要傳 數組的首地址 你看看就應該明白了 忘採納*/
#include "stdio.h"
struct student//結構體
{
char name[20];
float score;
int id;
};
float max(struct student * stu,int len)//取最大值 stu代表結構體數組首地址 len代表數組長度
{
float m;
int i;
for(i=0;i<len-1;i++)//這里記得 len-1 因為下邊有個stu[i+1] 如果len不減1 會越界
{
if(stu[i].score>stu[i+1].score)
m=stu[i].score;
else
m=stu[i+1].score;
}
return m;//返回最高分
}
void main()
{
int i;
float m;
struct student s29[5];
for(i=0;i<5;i++)
{
// s29[i].id;
printf("請輸入名字:");
scanf("%s",s29[i].name);
printf("請輸入成績:");
scanf("%f",&s29[i].score);//把 lf 改成 f
}
printf("學號\t 姓名\t成績\n");
for(i=0;i<5;i++)
printf("%d\t %s\t%.2f\n",i+1,s29[i].name,s29[i].score);
m=max(s29,5); //傳結構體數組地址和結構體數組長度
printf("最高分為:%.2f",m);
}
⑹ C語言的結構體,百科介紹的不怎麼容易明白,這兩種是什麼意思
(1) struct{ int x; int y; }test1;
好,定義了 結構 test1,
test1.x 和 test1.y 可以在語句里用了。
(2) struct test {int x; int y; }test1;
好,定義了 結構 test1,
test1.x 和 test1.y 可以在語句里用了。
與 1 比,省寫 了 test
(3)
typedef struct test
{int x; int y; // 你漏打分號,給你添上
}text1,text2;
只說了 這種結構 的(類型)別名 叫 text1 或叫 text2
真正在語句里用,還要寫:
text1 test1;
然後好用 test1.x test1.y
或寫 text2 test1;
然後好用 test1.x test1.y
(4)type struct {int x; int y; }test1;
這個不可以。
改 typedef ... 就可以了。
但也同 (3)一樣,還要 寫:
test1 my_st;
才能用 my_st.x 和 my_st.y
⑺ c語言中結構體的作用到底是干什麼的,能通俗點講嗎
把有關系的變數放在一起,查看起來方便
⑻ C語言中,結構體作為函數參數傳遞,詳解
1.可以把結構體作為參數啊,
2.不去取地址的意思,是引用的意思,函數執行時修改L的值,就直接的修改了實參的值,相當於地址傳遞了。
3.真正調用的時,如下:
SqList
tempStruct;
InitList_Sq(tempStruct)
這樣就可以了。
呵呵
⑼ C語言結構體定義
C語言結構體定義:struct為結構體關鍵字,tag為結構體的標志,member-list為結構體成員列表,其必須列出其所有成員;variable-list為此結構體聲明的變數。
結構體是C語言中聚合數據類型(aggregatedatatype)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。
(9)c語言的結構體詳解擴展閱讀
1、struct是聲明結構體類型時必須使用的關鍵字,不能省略。「結構體」這個詞是根據英文單詞structure譯出的。
2、structSTUDENT是定義的數據類型的名字,它向編譯系統聲明這是一個「結構體類型」,包括name、num、sex、age、score、addr等不同類型的項。
3、structSTUDENT與系統提供的int、char、float、double等標准類型名一樣,都是數據類型,具有同樣的作用,都是用來定義變數的。
⑽ C語言結構體的用法,
結構體的使用,首先要定義:
#include<stdio.h>
structstudent
{
charname[10];
intnum;
intage;
};//注意要分號
//然後就可以使用了:
voidmain()
{
structstudents;
structstudent*p=&s;//指針指向,可以不用指針
printf("inputname:");
gets(s.name);//若使用指針,則:gets(p->name);
printf("inputnum:");
scanf("%d",&s.num);//指針的寫法:scanf("%d",&p->num);
printf("inputage:");
scanf("%d",&s.age);
//輸出結果:
printf("name num age ");
printf("%s %d %d ");
}
結構體類似於數組,但結構體能定義不同的數據類型,這也是它的特別之處