您的位置:首页 > 编程语言 > C语言/C++

C语言之数据类型

2015-07-16 10:15 519 查看

C语言的数据类型分为:标准数据类型和构造数据类型

标准数据类型:

signed :bool,char,short,int,float,double,long,long long,

unsigned: char,short,int,float,double,long,long long,

构造数据类型:

数组,结构体,联合体,枚举

一维数组:

数组是一种数据类型连续的集合;

example:
auto int a[9];
//存储类型 数据类型 数组名 (标识符) [下标]

//数据类型是修饰数组元素的,下标意味着有多少个连续的空间
数组的定义申明以及初始化:
int a[5] = {1,2,3,4,5};//数组只有在定义时可以整体性赋值
int b[3];
b[3] = {1,2,3}; //错误的赋值方式
int c[3] = {1}; //其c[0] = 1;c[1] = 0;c[2] = 0;

数组名的三个含义:
1、数组名
2、首元素首地址
3、指针常量

例:int a[5];
&a表示整个数组空间的地址   &a+1表示跨越整个数组空间
a表示数组首个元素的地址 a == &a[0] a+1 == &a[0]+1 == a[1]


字符数组:
char b[5] = {a,b,c,d,e};
字符串数组:
char a[10] = "hello";
char c[5] = "world";
strcat(a,c);//数组的值为helloworld

字符串的操作方式(皆基于'\0'):
char * strcat(char *dest,const char *str);//字符串粘接
char * strlen(const char *str);//求字符串元素的个数
char * strcpy(char *dest,const char *str);//字符串拷贝
char * strncpy(char *dest,const char *str,size_t size);
char * strcmp(const char *dest,const char *str);//字符串比较
char * strncmp(const char *dest,const char *str,size_t size);


二维数组:

用于装一维数组的数组

逻辑抽象为二维数组,本质上的存储方式都是一维的

example:
auto int a[2][3] = {{1,2,3},{4,5,6}};
//存储类型 数据类型 数组名 [下标1][下标2]
//下标1表示可以装几个一维数组
//下标2表示该二维数组的一维数组可装多少个元素
a== &a[0][0] == a[0]


结构体:

为了描述世间的复杂事物而存在的

struct stu
{
int num;
char name[10];
char sex;
};

struct stu student = //赋值方式一
{
.num = 1,
.name = "jack",
.sex = 3,

};

struct stu student = //赋值方式二
{
1,
"jack",
3,

};

student.num = 5;    //赋值方式三

typedef struct stu  //typedef 为该结构体 取别名为tt
{
int num;
char name[10];
char sex;
} tt;

typedef struct stu
{
int num;
char name[10];
char sex;
} tt,*point;

struct stu *p;
point p;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 数据类型