0: Object-c 和c的区别
1: 什么是结构,联合,枚举
2:结构变量-结构和数组的区别:
结构变量-结构变量的神明:
结构变量的初始化:
初始化会有一个默认值,可以进行部分的初始化
如何访问结构成员呢?
修改成员变量,特别要注意字符串的修改,还是要通过sring的方法来做
结构变量-结构成员的操作:
和数组不通,结构可以通过等号(=)进行复制,例如
c2=c1;
结构类型-结构变量的问题:
如果程序的多个地方要使用相同类型的结构变量,那就需要定义多次,这样给程序带来荣誉,
+++++++++++++++
之前讲到的是结构变量,现在讲解的是结构类型-结构标记的声明
+++++++++++
结构标记的声明;
struct person{
0:object-c 是完全的面向对象的,c是面向过程的
1:object-c 是在c的基础之上, object-c上面写一个c语言程序是完全可以跑起来的
2:oc 里面有类的概念,c语言里面有类似的叫做结构
1: 什么是结构,联合,枚举
结构变量
结构类型
数组和结构的嵌套
什么是结构,
结构也是一种变量,是一种复合变量,结构的英文是structure,缩写是struct,结构是可以保存多个不同类型(这些类型为结构的成员member)的集合变量,例如:保存一个人的信息,id,name,age,email等
注意结构和数组的不同就是,结构里面是不同的类型的,数组是相同的类型的。
什么是联合?
联合的目的是节省存储空间,多个成员共享同一快怒出,每次只能存储一个成员,无法存储全部成员。
只要记住一点就是为了节省存储空间
什么是枚举?
枚举是一组关联的整形常量值,例如在一个游戏软件里面可以定义UP,DOWN,LEFT,RIGHT代表四个方向
2:结构变量-结构和数组的区别:
1:数组的元素类型都是相同的,而且可以通过为止来获取起元素值
2:结构中的元素都是不相同的,不能通过为止获取其元素值,可以通过名称获得
3:目的不通,数组是保存多个相同类型值的集合,结构是定义一种相关联的负荷数据类型
结构变量-结构变量的神明:
//复合类型,结构变量的声明
struct{
int pid;
char name[10];
int age;
} p1,p2;
结构变量的初始化:
//结构变量初始化
struct{
int cid;
char name[10];
int age;
} customer1={1,"kodulf",10};
初始化会有一个默认值,可以进行部分的初始化
如何访问结构成员呢?
//结构变量初始化
struct{
int cid;
char name[10];
int age;
} customer1={1,"kodulf",10};
//访问成员变量
printf("cid = %d\n",customer1.cid);
printf("name=%s\n",customer1.name);
printf("age=%d\n",customer1.age);
修改成员变量,特别要注意字符串的修改,还是要通过sring的方法来做
//修改成员变量:
customer1.cid=2;
//name需要通过字符串的拷贝的方法来做,如果直接赋值会报错的
//customer1.name="hello";如果直接赋值会报错的
//注意是包含<string.h>
strcpy(customer1.name,"TOM");
printf("cid = %d\n",customer1.cid);
printf("name=%s\n",customer1.name);
printf("age=%d\n",customer1.age);
结构变量-结构成员的操作:
和数组不通,结构可以通过等号(=)进行复制,例如
c2=c1;
//结构变量初始化
struct{
int cid;
char name[10];
int age;
} customer1={1,"kodulf",10},customer2;
//和数组不通,结构可以通过等号(=)进行复制,例如
customer2=customer1;
printf("cid = %d\n",customer2.cid);
printf("name=%s\n",customer2.name);
printf("age=%d\n",customer2.age);
结构类型-结构变量的问题:
如果程序的多个地方要使用相同类型的结构变量,那就需要定义多次,这样给程序带来荣誉,
+++++++++++++++
之前讲到的是结构变量,现在讲解的是结构类型-结构标记的声明
+++++++++++
结构标记的声明;
struct person{
}
//
// main.c
// StructTest
//
// Created by 千 on 16/7/19.
// Copyright © 2016年 kodulf. All rights reserved.
//
#include <stdio.h>
#include <string.h>
void func1(){
struct{
int pid;
char name[10];
int age;
}p1;
}
void func2(){
struct{
int pid;
char name[10];
int age;
}p1;
}
struct Person{
int pid;
char name[20];
int age;
};
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
//结构变量
int age;
double d;
char c;
//复合类型,结构变量的声明
struct{
int pid;
char name[10];
int age;
} p1,p2;
//片警,可以用来形容局部变量作用域,这个老郭太6了
//两个结构,有自己的命名空间,不会相互印象的
struct{
int cid;
char name[10];
int age;
} c1;
//结构变量初始化
struct{
int cid;
char name[10];
int age;
} customer1={1,"kodulf",10},customer2;
//访问成员变量
printf("cid = %d\n",customer1.cid);
printf("name=%s\n",customer1.name);
printf("age=%d\n",customer1.age);
//修改成员变量:
customer1.cid=2;
//name需要通过字符串的拷贝的方法来做,如果直接赋值会报错的
//customer1.name="hello";如果直接赋值会报错的
//注意是包含<string.h>
strcpy(customer1.name,"TOM");
printf("cid = %d\n",customer1.cid);
printf("name=%s\n",customer1.name);
printf("age=%d\n",customer1.age);
//和数组不通,结构可以通过等号(=)进行复制,例如
customer2=customer1;
printf("cid = %d\n",customer2.cid);
printf("name=%s\n",customer2.name);
printf("age=%d\n",customer2.age);
//结构类型-结构标记,这个和java 中的类差不多
struct Person p1;
//注意上面不能够少了struct ,因为单纯的Person不是一种类型
return 0;
}