c语言关键字用法详解,C语言的指针
C语言常见的关键字有:
Auto、break、case、char、const(常量变量)、continue、default(默认值)、do、double、else、enum(枚举)、extern(外部符号的引入)、float、for、goto、if、int、long、register(注册键)、return(返回)、Short(短整数)、signed(有符号)、sizeof(计算大小)、static、struct(结构键)、switch、typedef(类型定义)、union(联合/社区)、unsigned、void(空)、volatile、while
下面介绍个别关键词。
Auto(自动)#include stdio.h
int main()
{
int a=10//局部变量都是自动变量——在它们前面省略一个auto - auto int a=10
返回0;
}
局部和全局变量:
代码块({})内部定义的变量称为局部变量,代码块({})外部定义的变量称为全局变量。
代码块用{}表示,局部变量和全局变量的名字建议不要相同,容易造成bug。当名称相同时,局部变量优先。
#包含stdio.h
int num2=20//全局变量
int main()
int num1=10//局部变量
返回0;
}
寄存器(寄存器键)无符号(无符号)
速度:寄存器缓存内存硬盘
大小:硬盘内存缓存寄存器
计算机数据存储原理:硬盘数据-内存-缓存-寄存器- cpu
#包含stdio.h
int main()
{
//寄存器int a=10//建议定义一个作为寄存器变量,计算机会优先存储这个数据。
int a=10
a=-2;
//由//int定义的变量是有符号的。
//有符号int==int
无符号int num=0;//无符号无符号类型
返回0;
}
Typeof-type定义-类型重定义` ` c
#包含stdio.h
int main()
{
//typedef-类型重定义
typedef无符号int u _ int//重置无符号int变量
无符号int num=20
u _ int num=20
返回0;
}
静态-用于修改变量。静态修改不变量,局部变量的生命周期变长(超出范围也不会被破坏)。
#包含stdio.h
无效测试()
{
//int a=1;//创建一个局部变量
静态int a=1;//a是静态局部变量。
a;
//printf(a=%d\n ,a);//2 2 2 2 2
printf(a=%d\n ,a);//2 3 4 5 6
}
int main()
{
int I=0;
while (i 5)
{
test();
我;
}
返回0;
}
Static修改全局变量,改变变量的作用域,使得静态全局变量只能在自己的源文件内部使用,而不能在源文件外部使用。
创建一个源文件并创建一个全局变量。
//这是test1.c的源文件
静态int g _ val=2022//全局变量
回到源文件和代码。
#包含stdio.h
int main()
{
//extern-声明外部符号的关键字
extern int g _ val//报告错误,无法解析的外部命令
printf(g_val=%d\n ,g _ val);
返回0;
}
如果您删除test1.c中的静态,您将输出2022。
静态修改函数改变函数的连接属性。一个普通的函数有一个外部连接属性,当它被static修改后,就变成了内部连接属性。
静态int Add(int x,int y)(定义一个函数)
{
int z=x y;
返回z;
}
#包含stdio.h
//声明外部函数
extern int Add(int,int);
int main()
{
int a=10
int b=20
int sum=Add(a,b);
printf(sum=%d\n ,sum);//报告错误
返回0;
}
#define(默认)1。定义标识符常量。
2.定义宏
#包含stdio,h
//#define定义标识符常量。
//#定义最大100;
//#define可以用参数定义宏
//函数的实现
int Max(int x,int y)
{
如果(x y)
返回x;
其他
返回y;
}
//宏的定义方式
#定义MAX(X,Y) (X Y?X:Y)
int main()
{
//int a=MAX;
int a=10
int b=20
//函数
int max=Max(a,b);
printf(max=%d\n ,max);
//宏的方式
max=MAX(a,b);
//max=(a b?答:乙)
printf(max=%d\n ,max);
返回0;
}
strike-structure运算符# includesdio.h
#包含字符串. h
#pragma warning(disable:4996)//跳过此错误
//创建结构类型
结构书
{
char name[20];//C语言编程
做空价格;//50
};
int main()
{
//使用结构类型创建此类型的结构变量
Struct Book b1={c语言程序设计,50 };
结构书* pb=b1
//用(指针变量)pb打印书名和价格
//.结构变量。成员
//-结构指针-成员
//printf(%s\n ,Pb-name);
//printf(%d\n ,p b-price);
/*printf(%s\n ,(*pb)。姓名);
printf(%d\n ,(*pb)。价格);*/
//printf(书名:%s\n ,B1 . name);
//printf (price: %d\n ,B1 . price);
//B1 . price=15;
//修改名称值(因为是数组类型,不能直接修改)
strcpy(b1.name, C );//strcpy-string copy-string copy-library function-string . h需要引用头文件。
printf(%s\n ,B1 . name);
//printf(修改价格:%d\n ,B1 . price);*/
返回0;
}
指针大小在32位平台上是4字节,在64位平台上是8字节。
(这涉及到电脑存储的知识,我不是很懂。)
#包含stdio.h
int main()
{
int a=10
//-地址提取操作符在前一节“字符串转义符注释”中提到过
int * p=a;//取出A的地址(放在P中)并创建一个指针变量p(int*)
printf(%p\n ,p);
* p=20//*-解引用运算符*p引用a的地址。
printf(a=%p\n ,a);//20
//有一个变量用于存储地址指针变量
//printf(%p\n ,//打印A的地址(十六进制)
返回0;
}
#包含stdio.h
int main()
{
char ch= w//定义一个ch变量
char * pc=ch//取出ch的地址,放入pc
printf(%d\n ,sizeof(PC));//打印pc占用的空间(指针变量的大小)
* pc= a//使用pc的地址访问ch来改变ch的内容
printf(%c\n ,ch);//a
返回0;
}
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。