0
点赞
收藏
分享

微信扫一扫

小比特4

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

局部变量又叫自动变量     

int main()
{
auto int a = 10;
return 0;}


计算机 存储数据:

寄存器(register)

高速缓存                                   CPU-中央处理器

内存  8G/4G/16G 


int main()
{
refister int a =10;//建议把a定义成寄存器变量
return 0;
}


int main()
{
int a=10;
a=-2;
//int定义的变量是符号的(signed int)
//如果定义unsigned int num=-1;结果是1,//意思是无符号数
return 0;
}

关于typedef-类型定义-类型重定义

int main()
{
typedef unsigned int u_int;//这里的unsigned int与u_int等价
unsigned int num=20;
u_int num2=20;
return 0;
}

关键字static

#include<stdio.h>
void test()
{
int a=1;
a++;
printf("a=%d\n,a");
}
int main()
{
int i=0;
while(i<5)
{
test();
i++;
}

return 0;
}//这里的代码的每个执行结果都是a=2

关于static的用法(上下两个代码块相比)

#include<stdio.h>
void test()
{
static int a=1;//a变成了静态的局部变量,
//static修饰局部变量,局部变量的生命周期变长了
a++;
printf("a=%d\n,a");
}
int main()
{
int i=0;
while(i<5)
{
test();
i++;
}

return 0;
}//这里的结果是2 3 4 5 6

定义的全局变量可以放在其他文件中使用,引用的时候要加上extern声明外部符号

但如果变量的前面加上static,则不能够使用,这里的static改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没办法使用


static修饰函数改变了函数的链接属性




#define定义常量和宏

#include<stdio.h>


#define MAX 100 //#define定义的标识符常量
int main() //#define定义宏需要带参数
{
int a=MAX;

return 0;
}

//函数的实现
int Max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
//宏的定义
#define MAX(X,Y) (X>Y?X:Y)
int main()
{
int a=10;
int b=20;
//函数
int max=(a,b);
printf("max=%d\n",max)
//宏的方式
max=MAX(a,b)
printf("max=%d\n",max);
return 0;
}

指针

如何产生地址

32位     32根地址线/数据线                     64位

           正电和负电

            1          0

00000000000000000000000000000000

00000000000000000000000000000001

...

....

11111111111111111111111111111111          2的32次方个地址

1个内存单元是一个字节

int main()
{
int a=10;
int* p=&a;//取地址
printf("%p\n",&a);
*p=20;//*解引用操作符
return 0;
}//有一种变量是用来存放地址的-指针变量

int main()
{
char ch='w';
char* pc=&ch;
*pc='a';
printf("%c\n",ch);
return 0;
}结果a



举报

相关推荐

0 条评论