日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

复杂的c语言,c语言复杂数据类型

發(fā)布時間:2023/12/19 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 复杂的c语言,c语言复杂数据类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

//

// main.c

// c結(jié)構(gòu)體

//

// Created by stevenchang on 9/4/15.

// Copyright (c) 2015 cz. All rights reserved.

//

#include

/**

局部變量和全局變量

結(jié)構(gòu)體

共用體

枚舉

*/

/**

全局變量在整個文件內(nèi)有效,局部變量作用域從定義那行開始,知道方法體結(jié)束

同名變量,局部變量會覆蓋全局變量

全局變量的使用:只有當此變量被全文使用時,可以使才用定義全局變量

*/

int a = 10; //這定義了一個全局變量

struct Date {

int year;

int month;

int day;

};

struct Person { //結(jié)構(gòu)體類型分配的內(nèi)存空間為最大元素空間的倍數(shù)

char *name;

struct Date date;

};

struct Student { //定義一個結(jié)構(gòu)體類型,此時是不分配內(nèi)存空間的

int age;

float weight;

char *name;

};

struct Teacher { //定義一個結(jié)構(gòu)體,并定義一個變量tea

int age ;

double height;

char *name;

} tea;

enum Sex { //定義了一個枚舉類型

male,

female

};

union Data { //定義一個共用體(聯(lián)合體)

int a;

int b;

};

int main(int argc, const char * argv[]) {

// insert code here...

int a = 20; //這里定義了一個局部變量

printf("%d\n",a);

/**

結(jié)構(gòu)體:是由多種數(shù)據(jù)類型組成的一種構(gòu)造類型。

在定義結(jié)構(gòu)體類型的時候,是不會分配內(nèi)存空間的。

結(jié)構(gòu)體也是存在作用域的,可以放在函數(shù)體內(nèi),也可以放在文件的開頭部分。

*/

printf("===============================\n");

struct Student stu = {12,23.4,"steven"}; //當定義一個結(jié)構(gòu)體變量和初始化的時候會分配內(nèi)存空間

stu.age = 23; //通過結(jié)構(gòu)體的點語法,我們可以對結(jié)構(gòu)體中的元素進行賦值

printf("age=%d, weight=%f, name=%s\n",stu.age, stu.weight, stu.name);

printf("==================================\n");

struct Teacher tea = {34,45.5,"love"}; //雖然定義了變量但是不能直接使用tea,賦值時格式為struct Teacher tea = ......

tea.age = 20;

tea.height = 23.4;

tea.name = "Maggie";

printf("age=%d, height=%f, name=%s\n",tea.age, tea.height, tea.name);

/**

結(jié)構(gòu)體數(shù)組

*/

printf("===============================\n");

struct Student stud[3] = {

{1,2.3,"adaf"},

{2,3.4,"jkljl"},

{3,4.5,"eqrq"}}; //定義了一個結(jié)構(gòu)體數(shù)組用于存放多個結(jié)構(gòu)體

//遍歷結(jié)構(gòu)體數(shù)組

for (int i = 0 ; i < 3; i++) {

printf("age=%d, weight=%f, name=%s\n",stud[i].age, stud[i].weight, stud[i].name);

}

/**

指向結(jié)構(gòu)體的指針

*/

printf("===============================\n");

struct Teacher tea1 = {12,1.55,"aafaf"}; //結(jié)構(gòu)體初始化和分配內(nèi)存空間

struct Teacher *p = &tea1; //定義一個結(jié)構(gòu)體指針并初始化

//輸出結(jié)構(gòu)體元素的集中方式

//1.使用tea1進行輸出

printf("age=%d, height=%.2f, name=%s\n",tea1.age, tea1.height,tea1.name);

printf("age=%d, height=%.2f, name=%s\n",(*p).age, (*p).height,(*p).name);

printf("age=%d, height=%.2f, name=%s\n",p->age, p->height,p->name);

/**

結(jié)構(gòu)體嵌套

*/

printf("================================\n");

struct Date date = {2011,12,23};

struct Person person = {"steven",date};

printf("year=%d, month=%d, day=%d\n",date.year, date.month,date.day);

printf("name=%s,year=%d,month=%d,day=%d\n",person.name, person.date.year, person.date.month,person.date.day);

/**

枚舉類型:對于常量值,我們可以使用枚舉類型

*/

printf("===============================\n");

enum Sex sex; //定義了一個枚舉變量

sex = male; //對枚舉變量sex進行賦值

printf("sex=%d\n",sex); //輸出結(jié)果為1,枚舉類型默認數(shù)據(jù)從0開始,后面一次增加

/**

共用體(聯(lián)合體):分配的內(nèi)存空間是最大元素的空間

每次使用只能取其中一個元素

*/

printf("=============================\n");

union Data data;

data.a = 12;

data.b = 123;

//輸出結(jié)果相同,是因為他們使用的是同一塊內(nèi)存空間,因此賦值只能給其中一個賦值

printf("a = %d, b = %d\n", data.a, data.b);

return 0;

}

總結(jié)

以上是生活随笔為你收集整理的复杂的c语言,c语言复杂数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。