C语言基础知识
小白必备
11.常见关键字
1.typedef:
类型定义,即类型重命名
#include
int main()
{
typedef unsigned int u-int;
u-int a=20;
unsigned int a=20;//二者类型一样
return 0;
}
2.static
修饰局部变量–静态局部变量,静态局部变量的生命周期边长
修饰全局变量–静态全局变量,改变了作用域,静态全局变量只能在自己所在的源文件内部使用
修饰函数==静态函数,改变了函数的链接属性(外部链接属性)—> 变成了内部链接属性
#include<stdio.h>
void test()
{
static int a=1;//没有static时,输出2 2 2 2 2
a++
printf(“a=%d”,a);//2 3 4 5 6
}
int main()
{
int i=0;
while(i<5)
{
test();
i++;
}
return 0;
}
12.#define定义常量和宏
#define MAX (X,Y) (X>Y?X:Y)//定义宏
int main()
{
int a=10;
int b=20;
int max=0;
max=MAX(a,b);
printf(“max=%d\n”,max);
return 0;
}
13.指针
每个内存单元的大小是一个字节
为了能够有效访问内存的每个单元,给内存单元进行了编号,这些编号就是内存单元的地址
#include<stdio.h>
int main()
{
int a=10;
int *p=&a;//取地址
//printf("%p\n",&a);
//printf("%p\n",p); 有一种变量是用来存放地址----指针变量
p=20;//–解引操作符
printf(“a=%d\n”,a);//输出为20
return 0;
}
指针大小:32位平台是4个字节,64位平台是8个字节
13.结构体
#include<stdio.h>
struct Book
{
char name[20];
short price ;
};
int main()
{
//利用结构体类型,创建一个该类型的结构体变量
struct Book b1={“C语言程序设计”,55};
//struct Book*pb = &b1;
printf(“书名:%s\n”,b1.name); 同理 用指针 //printf(“书名:%s\n”,(*pb).name);
printf(“价格:%d\n”,b1.price); //printf(“价格:%d\n”,(*pb).price);
return 0;
}
同理,用操作符
//printf(“书名:%s\n”,pb->name);
//. 结构体变量.成员
//-> 结构体指针->成员