結構體只是乙個型別,還沒有分配空間。所以定義結構體型別時不要直接給成員賦值。只有根據其型別定義變數時,才分配空間,有空間才能賦值。
例程如下:
typedef
struct
teacher;
int main()
; //相同型別的兩個結構體變數,可以相互賦值
//把t1成員變數記憶體的值拷貝給t2成員變數的記憶體
teacher t2 = t1;
printf("%s,%d",t2.name,t2.age);
}
動態分配記憶體空間
teacher *p = (teacher *)malloc(sizeof(3*teacher));
if(p == null)
char buf[50];
for (i=0;i<3;i++)
for(i=0;i<3;i++)
printf("\n");
if(p != null)
typedef
struct
teacher;
int main()
}
//1、三個引數
strcpy_s(char *strdestination, size_t numberofelements, const
char *strsource );
//比如
char *str,temp[30];
*str = temp[30];
strcpy_s(str,20,"ashdskj");
//2、兩個引數
strcpy_s(char (&strdestination)[size], const
char *strsource );
//比如
char str[7];
strcpy_s(str,"hello");
另一種情況:
teacher *p = null;
p = (teacher *)malloc(sizeof(teacher)); //給結構體指標動態分配空間
p->name = (char *)malloc(30);
strcpy(p->name,"lilly"); //要實現這一步必須有上面兩條語句
//實現上面功能後別忘了將動態分配空間的指標p和name釋放掉
if(p->name != null)
if(p != null)
演算法提高 成績排序2 結構體 C
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出n個學生的成績,將這些學生按成績排序,排序規則 總分高的在前 總分相同,數學成績高的在前 總分與數學相同,英語高的在前 總分數學英語都相同,學號小的在前 輸入格式 第一行乙個正整數n,表示學生人數 接下來n行每行3個0 100的...
結構體巢狀結構體 C語言結構體
希望今年夏天的遺憾能成為你秋天的驚喜。網易雲熱評 一 結構體概念 可以簡單理解為把不同資料型別放到一起的陣列 二 結構體宣告與初始化 1 先宣告結構體型別再定義變數 2 同時定義變數 3 直接定義結構體型別變數 include include include include struct aiyou...
C 結構體共用體
12 c 中陣列初始化的特點 初始話陣列可以省略等號 初始話內容為空 不可縮窄操作 double people double people int number 不通過,因為浮點到整形為縮窄13 sizeof 計算陣列時候會比strlen 多計算乙個0位元組 14 字串的初始化和賦值,string ...