C語言學習 一種新的結構體賦值方法

2021-07-22 09:49:20 字數 654 閱讀 2033

今天在編寫c語言**時發現了一種結構體賦值的新方法,記錄下來提醒自己

首先定義乙個結構體

typedef struct _person_struct person_struct;
在主程式中呼叫:

int main(int argc, char **agrv)

; printf("stperson name = %s, age = %d, work = %s\n", stperson1.m_cname, stperson1.m_iage, stperson1.m_cwork);

return 0;

}

注意下面的賦值方法是錯誤的,我剛開始就是這麼寫的

person_struct stperson1 = ;
這樣的方式在使用gcc編譯時會報錯。另外,這種結構體賦值方式僅限c語言中,如果使用g++編譯c++**,這樣的賦值方式同樣不行。我是從核心原始碼中發現了這種結構體賦值方式,覺得一目了然,就記錄在案,與君共享。

糾正錯誤:

前面說.m_cname[20] = "zhangsan",這個從c語言的角度將就是錯誤的,只能strcpy(m_cname, "zhangsan")這樣賦值!!

一種排序(C語言結構體)

描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長排序 3.如果編號和長都相同,按照長方形的寬排序 4.如果編號 長...

C語言學習 結構體

include include include 宣告結構體 struct student student結構體名 int age char int main 初始化結構體變數 bbbb strcpy s1.name,bbbb s1.age 22 s1.m 列印結構體變數,逐個列印 printf s ...

C語言學習 結構體

題目要求 學生的記錄由學號 姓名 專業組成,根據班級人數,將學生記錄存放在結構體陣列中,由於部分同學轉專業,學生記錄發生了變化,請程式設計實現根據學號查詢查詢學生並修改專業,分別輸出轉專業和未轉專業的學生記錄。要求 班級人數 學生記錄均由鍵盤輸入 include define m 100 要求 1....