程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言--結構體

C語言--結構體

編輯:關於C語言

\\\\\\\\\\


#import 
typedef struct students{
    
    
}Stu;
int main(int argc, const char * argv[])
{
    //結構體,裡面的是成員(變量)
    struct teacher {
      
        char name[30];
        char sex;
        int  age;
        char course[30];
    };
    //struct teacher類型 a變量名
    struct teacher a = {"cuilaoshi",'m',18,"language C"};
//    Teacher c = {"cuilaoshi",'m',18,"language C"};
    
    
    struct cup {
        float price;//價錢
        char color[30];//顏色
        int capacity;//容量
    };
    //struct cup類型 b變量名 {20.5,"red",500}初值
    struct cup b = {20.5,"red",500};
    
    //使用typedef 重新定義類型
    //1.定義結構體的同時,就取別名
    //2.先定義結構體,再取別名
    typedef struct teacher Teacher;
    Teacher c = {"cuilaoshi",'m',18,"language C"};
    //類跟結構體很相似
    // 訪問結構體成員表示,結構體變量.成員  a.name
    strcpy(a.course, "Objective-C");
    a.sex='f';
    //打印結構體,可以在main函數,也可以定義函數打印
    printf("%s",a.name);
    printf(" %c ",a.sex);
    printf(" %d ",a.age);
    printf(" %s",a.course);
    //匿名結構體
    
    //結構體賦值
    //結構體可以直接賦值
    
    //有三個學生,編程找出分數最高者以及年齡最小者
    //字符串賦值拷貝
    
    return 0;
}




#import 
#import "Student.h"
#import "MyRect.h"

int main(int argc, const char * argv[])
{
    //    有三個學?生,編程找出分數最?高者以及
    //    年齡最?小者
#pragma mark----------------結構體數組
    stu s[3]={
        {"zhangsan",23,90,{1990,9,28}},
        {"zuoyoudong",25,88,{1991,9,20}},
        {"fanghao",24,89,{1992,8,8}}
    };
    
    stu max = s[0];
#pragma mark----------------結構體中求最大值與最小值
    //注意定義最小,不要初始值為0,否則最小總是0,可以定義為第一個元素s[0]
    stu min = s[0];
    //i可以從1開始,因為定義時,已經假設第一個元素s[0]最小或最大,然後讓它去跟數組其它元素(第二個,第三個去計較就行了)
    for (int i = 0; i<3; i++) {
        if (min.age>s[i].age) {
            min.age=s[i].age;
        }
        if (max.scores2.score?s1:s2;
//    max = max.score>s3.score?max:s3;
#pragma mark----------結構體占多少內存空間
//    //按最大類型的整數倍分配空間sizeof
//    printf("%s %lu",max.name,sizeof(stu));
////    //年齡最小者
//    stu min = {0};
//    min = s1.age
#import "Student.h"
#pragma mark----------結構體聲明寫在.h文件中
struct date {
    int year;
    int month;
    int day;
};
typedef struct date Date;

typedef struct students{
    char name[20];//姓名
    int age;//年齡
    float score;//分數
    Date birthday;//生日
}stu;
void bubbleSort(stu s[],int count);
void printfStu(stu s[],int count);

 "Student.m"
void bubbleSort(stu s[],int count)
{
    for (int i = 0; i

#import "MyRect.h"
typedef struct Lpoint {
    float x;
    float y;
}Lpoint;

//構建一個LPoint
Lpoint LpointMake(float x,float y);
//在iOS裡,你會見到 CGPoint CGPointMake(CGFloat x,CGFloat y);
//其中CGFloat是typedef出來的, typedef float CGFloat;


//判斷兩個點是否相同
BOOL LPointisEqual(Lpoint p1,Lpoint p2);

typedef struct LSize
{
    float width;
    float hight;
}LSize;

LSize LpsizeMake(float width, float height);

 "MyRect.m"
//構建一個LPoint
Lpoint LpointMake(float x,float y)
{
    Lpoint p = {x,y};
    return p;
}
//判斷兩個點是否相同
BOOL LPointisEqual(Lpoint p1,Lpoint p2)
{
    if (p1.x == p2.x && p1.y == p2.y) {
        return YES;
        //不寫else相當於必走
    }else{
        return NO;
    }
}
LSize LpsizeMake(float width, float height)
{
    LSize siz = {width,height};
    return siz;
}




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved