------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
******************** c语言的构造类型 ********************
基本数据类型
指针类型
定义类型
void
构造类型
构造类型:
数组类型;
结构体类型;
共用体类型;
结构(structure):是一种构造类型,是由若干"成员"组成的
每一个成员可以是一个基本数据类型或者又是一个构造类型
结构是一种"构造"而成的数据类型,那么在说明和使用之前必须
先定义,就事构造它.如同在说明和调用函数之前要先定义函数;
定义结构体的方法
******************** 定义一个结构的一般形式为:
结构体的定义:
strect结构名{
成员表列;(int age);可以一个,也可以多个,类型可以不同
};
数组:一组相同类型的数据.相同数据类型的有序的集合
结构体: 类型,构造类型(由若干个已经存在的基本数据类型
或者构造类型,用构造的方法放到一起)
定义一个学生的结构体()(姓名,性别,年龄,成绩)
struct student{
//定义了一个成员
char name[22];
//男 女 妖
//'M' 'F' 'Y'
char sex;
int ages;
float score;
};
注意:成员名要符合标示符的命名规范;
1> 不能以数字开头
2>
结构体变量:
用结构体类型定义的变量,这个变量就具备了结构类型的特征
(使用这个结构变量可以存储很多数据)
结构体变量的使用流程: 定义--->初始化--->使用
结构体变量的定义方法:
格式一:
1 先定义结构体,再定义结构体变量
struct Car{
int lznum;
char *pp;
int speeb;
};
struct 结构体名 结构体变量名;
struct Car bigBen;//定义了一个结构体变量
//结构体变量名 bigBen ,可以存储轮子
个数/品牌/速度
2
1> 定义结构体的同时定义变量
struct 结构体名称{
}结构体变量列表;
struct Iphone{
int size;
int weight;
int model;
char name[10];
}iphone4,iphone5;//定义了两个结构体变量
2> 使用匿名结构体定义结构体变量
struct {
int pages;
char *bookName[50];
char *
}jpz;gt;
3 使用宏定义结构体变量
#define p iphone struct;
结构体变量的初始化
初始化值的类型和定义的成员类型要一致
赋值的顺序要定义结构体成员的顺序一致
1> 先定义结构体变量后初始化
//定义一个结构体
struct Car{
int lznum;
char *pp;
int speeb;
};
//定义一个结构体变量
struct Car bigBen;
//再给结构体变量整体初始化
bigBen = (struct Car){3,"大奔",300};
2>
struct Car bao10jie;
bao10jie.lzNum = 3;
bao10jie.pp = "保时捷";
bao10jie.speeb = 300;
2> 定义结构体变量的同时初始化
struct Dog{
char *name;
int tuiNum;
int speeb;
}xiaohua={"小花",2,20},bigYellowDog={"大黄",4,100};
//struct Dog wangcai={"旺财",4,300};
用一个已经存在的结构体,初始化另外一个结构体
把wangcai的每个成员值都对应的赋值给heipi的每个成员
struct Dog heipi = wangcai;
部分初始化
struct Car sf = {.pp="实风"};
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
/* ******************** 先定义结构体,再定义结构体变量,后结构体变量初始化
//定义一个结构体
struct Car{
int speed;
int lzNum;
char *name;
};
//******************** 定义结构体变量
struct Car a;
//******************** 结构体变量初始化
a.speed = 100;
a.lzNum = 4;
a.name = "夏利";
printf("车名是: %s, 最高速度是: %dkm/h,轮子是: %d个\n",a.name,a.speed,a.lzNum);
*/
/*
//******************** 定义结构体
struct Car{
char *name;
int speed;
int lzNum;
};
//定义结构体变量
struct Car bigBen;
//******* 给结构体变量整体初始化
bigBen = (struct Car){"大奔",200,4};
printf("车是:%s ,最高速度是%dkm/h ,有%d个轮子\n",bigBen.name,bigBen.speed,bigBen.lzNum);
*/
//定义结构体的同时定义结构变量
//定义结构体
struct Car{
char *name;
int speed;
int lzNum;
}binli={"宾利",300,4};
//用一个已经存在的结构体,初始化另外一个结构体
struct Car benchi = binli;
//将binli赋值给了benchi,不在同一个地址上
printf("benchi = %p\n",&benchi);
printf("binli = %p\n",binli);
printf("车名是:%s ,车速是%dkm/h,有%d个轮子\n",benchi.name,benchi.speed,benchi.lzNum);
return 0;
}