C语言学习第四课-创新互联

一、常见关键字

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、五家渠网站维护、网站推广。

1.C语言提供的,不能自己创建关键字

2.变量名不能是关键字

signed 有符号的、unsigned 无符号的、extern 是申明外部符号的、register 寄存器关键字、union联合体(共用体)、void 无

define、include不是关键字是预处理指令

二、typedef关键字

1.类型定义,可以理解为类型重定义

typedef unsigned int u_int;

int main()
{
	unsigned int num = 100;
	u_int num2 = 100;
	//这两段代码是一个意思。把一个复制类型简单化
	return 0;
}

三、static关键字

static是用来修饰变量和函数的 1. 修饰局部变量-称为静态局部变量 2. 修饰全局变量-称为静态全局变量 3. 修饰函数-称为静态函数 1.修饰局部变量
void test()          //空类型,不需要返回值
{
	int a = 1;       //test一共被调上去10次
	a++;
	printf("%d", a); //所以显示结果是十个2
}
int main()
{
	int i = 0;
	while (i< 10)
	{
		test();
			i++;
	}
	return 0;
}
void test()          //空类型,不需要返回值
{
	static int a = 1;   //通过静态修饰的变量,不会再函数执行完后销毁
	a++;
	printf("%d", a);    //所以显示结果是2-11
}
int main()
{
	int i = 0;
	while (i< 10)
	{
		test();
			i++;
	}
	return 0;
}

对比后得知,static修饰局部变量,改变了局部变量的生命周期(本质上改变了变量的存储类型)

2.static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用。

3.static修饰函数,使得函数只能在自己所在的源文件内部使用,不能再其他源文件内部使用,本质上static是将函数的外部链接属性变成了内部链接属性(和修饰全局变量一样)。

四、#define定义常量和宏

define是一个预处理指令

1.define定义符号

#define max 1000

int main()
{
	printf("%d\n", max);
	return 0;
}

2.define定义宏

#define add(x,y) ((x)+(y))
int main()
{
	printf("%d\n", 4 * add(2, 3));
	return 0;
}

五、初识指针

1.每个内存单元的大小是1个字节byte,内存单元进行编号,这些编号称为该内存单元的地址

int main()
{
	int a = 10;         //a再内存中分配的空间是4个字节
	printf("%p\n", &a); //%p专门用来打印地址
	int * pa = &a;            //pa是用来存放地址的,再c语言中叫指针变量
	//*说明pa是指针变量,存放的是数据地址
	//int说明pa指向的对象是int类型的
	return 0;
}

2.指针实例

int main()
{
	int a = 10;        
	int* pa = &a;
	*pa = 20;      //*是解引用操作,*pa就是通过pa的地址找到a
	printf("%d\n", a);
	return 0;
}

3.指针的大小

指针的大小是相同的,在32位平台是4个字节,64位平台是8个字节

int main()
{
	printf("%d\n", sizeof(char*));
	printf("%d\n", sizeof(int*));
	printf("%d\n", sizeof(short*));
	printf("%d\n", sizeof(float*));
	return 0;
}

六、结构体

1.结构体的初始化

struct Stu             //创建一个学生
{
	char name[20];     //成员变量
	int age;
	double score;
};
int main()
{
	struct Stu s = { "皮皮虾",20,92.5 }; //结构体的创建和初始化
	printf("%s %d %lf\n", s.name, s.age, s.score);
	struct Stu * ps = &s;    //struct Stu是指针类型
	printf("%s %d %lf\n", (*ps).name, (*ps).age, (*ps).score );
	printf("%s %d %lf\n", ps->name, ps->age, ps->score);
	//2、3方法相同,使用方法结果指针体->成员变量名
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:C语言学习第四课-创新互联
分享路径:http://azwzsj.com/article/csgchg.html