C语言常用简单语法总结

1.数组

1.一维数组

一位数组的定义:

//定义长度为10,即a[0] - a[9],内容格式为int的数组
int array[10];	

二位数组的定义:

//定义3行4列,内容格式为int的二维数组
int array[3][4];

2.函数与函数的调用

2.1子函数的定义

类型名 函数名()
{
	函数体
}

以下为两个子函数定义的例子。

//定义一个返回值为int类型,函数名为max1,参数为int类型的a和b的子函数
int max1(int a, int b){
	if(a > b){
		return a;
	}
	else{
		return b;
	}
}
//定义一个无返回值,函数名为max2,参数为int类型的a,b,c的子函数
void max2(int a, int b, int c){
	if(a > b){
		c = a;
	}
	else{
		c = b;
	}
}

2.2子函数的调用

在调用函数之前,要先对函数进行声明。

//声明两种max函数
int max1(int, int);
void max2(int, int, int);

之后才可以使用子函数。

//使用两个子函数
int a, b, c;
c = max1(a, b);
max2(a, b, c);

3.指针

3.1基本定义

一个变量的地址称为该变量的“指针”。指针变量属于一种特殊的变量,用于存放地址。
在定义指针变量时必须指定基类型,因为不同类型的数据占用字节数和存放方式不同,必须知道该数据的类型,才能按存储单元的长度以及数据的存储形式正确地取出该数据。

//定义一个int类型变量
int a;
//定义一个指向int类型数据的指针变量p
int *p;
//将指针p的值改为a的地址,即指针p指向a
p = &a;
//也可以这样写
*p = a;
//同理,定义一个指向float型变量的指针p_float
float *p_float;

指针变量前面的”*“标识该变量的类型为指针型变量,指针变量名为p,当p指向a时,*p和a为等价关系。

3.2指针变量作为函数参数

//eg1
//定义一个返回值为int,参数为指针的函数
int max1(int *p1, int *p2){
	if(*p1 > *p2){
		return *p1;
	}
	else{
		return *p2;
	}
}
//调用该函数
int max1(int *, int *);
int a, *p1, *p2;
a = max1(p1, p2);		//参数为指针,因此这里不需要加*
//eg2
//定义一个返回值为int指针,参数为指针的函数
int *max2(int *p1, int *p2){
	if(*p1 > *p2){
		return p1;
	}
	else{
		return p2;
	}
}
//调用该函数
int *max2(int *, int *);
int *pmax, *p1, *p2;
pmax = max2(p1, p2);
//eg3
//定义一个void函数,参数为指向一维数组的指针
void AddArray(int *p){
	for(int i = 0; i < 10; i++){
		*(p + i) = i;
	}
}
//调用该函数
void AddArray(int *);
int array[10];
int *p = array[0];		//将p指向数组的起始位
AddArray(p);
//eg4
//定义一个void函数,参数为指向二维数组的指针
void AddArray(int *p){
	for(int i = 0; i < 3; i++){
		for(int j = 0; j < 4; j++){
			*(p + 4*i + j) = 4*i + j;
		}
	}
}
//调用该函数
void AddArray(int *);
int array[3][4];
int *p = array[0][0];
AddArray(p);

4.结构体

4.1结构体定义

结构体是由不同类型数据组成的组合型的数据结构。

//结构体的定义
struct 结构体名{
	成员列表
}//声明
类型名 成员名
//结构体成员
成员名.成员
//eg
struct Student{
	char[10] name;
	char	 sex;
	int		 age;
	float	 score;
};
//声明10个Student类型的变量
struct Student stu[10];
//给stu[0]赋初值
stu[0].name = "wxh";
stu[0].age = 23;

4.2 结构体指针

struct Student stu;
//声明指针pstu
struct Student *pstu;
//指针pstu指向stu
*pstu = stu;
//给*pstu赋初值
stu.name = "wxh";
(*p).age = 23;
p->score = 66.6;		//这种为常用表达方法

注意:(*p).name不可以省略括号。
指向结构体数组指针同理。

5.链表

见谭浩强《C语言程序设计》P310。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值