------- IOS培训、IOS培训、期待与您交流! ----------
一、关于数组的初始化:1、如果未定义数组大小,则必须在定义同时为元素赋值。
例如:int a[] = {2,4,6};//这时数组大小为每个元素大小的和。
2、如果用变量定义数组大小,则不可以在定义同时初始化。
例如:int size = 5;
int a[size] = {1,2,3,4,5};//这种写法是错误的,由于size为变量,所以不可以定义同时初始化。
----------------------------------------------------------------------------------------------------------------------------------------------------------
二、字符数组与字符指针的区别:1、如果定义字符数组用来存储字符串,那么这个字符串的内容可更改
例如:char a[] = "abcdefg";//这时,a中的内容可以更改;
//更改方式一:单个字符修改
a[3] = 'K';
//更改方式二:批量修改,这时要利用string.h中的strcpy给字符串赋值
#include
strcpy(a,"okokok!");//新的字符串要小于或等于字符数组的值,否则程序可能会崩溃
2、定义字符指针来存储字符串,那么该指针指向的内容被存在程序的常量区,即一旦赋值,内容不可更改。
例如:char *a = "ok123";
*a = "abc123";//这句是错误的
----------------------------------------------------------------------------------------------------------------------------------------------------------
三、指向函数的指针:函数也是有自己的地址的,所以指针也可以用来指向某一个函数。定义:返回值 (*p)(参数类型);
例如:int max(float b);
int(*p)(float) = max;//这时p与max指向相同的地址
int a = p(1.2f);//调用该函数,等同于int a = max(1.2f);
----------------------------------------------------------------------------------------------------------------------------------------------------------
四、结构体的几种定义方式:1、普通定义方式,定义一个自定义类型的结构体
例如:struct user
{
int ID;//注意,这里不可以赋值
float price;
};//不要拉下分号
2、定义结构体的同时定义出一个该结构体的变量
例如:struct user
{
int ID;
float price;
}zhangSan;//相当于 struct user zhangSan;
3、省略结构体名称
例如:struct//省略的该结构体的名称
{
int ID;
float price;
}zhangSan;
----------------------------------------------------------------------------------------------------------------------------------------------------------
五、结构体的嵌套:在结构体中定义别的结构体类型。注:不可嵌套自己。
例如:struct info{char name[], int age};
struct user
{
int ID;
struct info i;//嵌套info的结构体类型,正确
struct user u;//嵌套自己,错误
};
----------------------------------------------------------------------------------------------------------------------------------------------------------
六、枚举类型:枚举类型一般用于一组连续的整数,表示数组下标或者使某一个变量用途更明确。定义方法与结构体类似。注意,枚举只能表示整数,对于其他的类型,可以用宏定义。
例如:enum sex
{
male,//变量在枚举中用整数表示,默认从0开始,注意分隔符用','
female,
natural//未确认
}
enum sex s = female;//这时 s = 1;