C语言相关的碎碎念01——关键字(连载)

C语言

第一个C语言

//  行注释 只能注释一行
/*
    块注释  可以注释多行(不能嵌套) 
*/
#if 0
    条件注释
#endif

//stdio.h 标准的输入输出头文件  告知编译器printf存在
//头文件 类型、宏定义  函数、变量声明
#include <stdio.h>

//main是主函数  C语言的程序 入口  一个工程中 只能有一个main函数
//main左边的int 是返回值类型
//(函数的形参:形参类型 形参名)  是函数内部 获得外部数据的桥梁
int main(int argc, char *argv[])
{//{}表示复合语句
    //printf将""里面的字符串输出到屏幕 '\n'换行/刷新缓冲区
    //;在C语言中 结束语句 代表一条完整的语句
    
    //c语言中 所有变量、函数、类型 必须在使用前定义好
    printf("欢迎来到周小继的博客\n");

    //先:将返回值0 返回    后:结束main函数
    return 0;
}

要注意的是:这个return的作用不仅仅是返回一个值,还有一个功能就是结束程序。

关键字

char :字符型
short :短整型
int :整形
long:长整形
float:单精度浮点型
double:双精度浮点型
以上的六个数据类型是基本类型,还有一些构造的类型,比如:struct(构造类型),union(联合体),enum(枚举)。
像上面的int,double,float,short,都默认为有符号类型。当我们想要显式的表达一个数据的有符号类型,用signed

signed int a = 0;  //显式的有符号
unsigned int a;    //无符号

存储类型的关键字
register:寄存器变量

register int num;//num会尽量放置在寄存器中

volatile:防止编译器优化(或者叫强制访问内存操作)

volatile int num;//不管num多频繁使用 必须每次从内存中取值

volatile表明,某个变量的值可能在外部被改变,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。这里所谓的优化就是将这个变量放入寄存器中,方便系统的调用。
const:修饰变量只读

const int num=10;
num=100;//err 只读 不允许赋值

被const修饰的东西不能改变,他可以修饰函数的参数,返回值等等。

int a =10;
const int *p = &a;  //const修饰的为*p,即为这个p指向的值不能被修改
int const * p = &a;  //这个有一定的迷惑性,其实看其修饰的是什么就好,以上面的功能相同
int * const p = &a; //const修饰的为p,即这个p的指向不能被修改
const int * const p = &a; //p与*p均不能被修改

auto自动变量

int num;//默认就是auto

extern声明变量或者函数在外部也可以使用
extern一般用在多文件的编程中,让多个文件都能够使用某一个函数或者变量,在其前面加上这个关键字即可。
typedef为已有的类型取别名

typedef struct Stu
{
	char name[32];
	int number;
	float score;
}stu;

那么这个stu就是struct Stu的别名,这个typedef的使用有几个注意点:
1.它不能够创建一个新的类型,他是类型的别名。
2.取别名之后,原来的类型依然有效。
3.使用的时候,放在以前类型的前面,最后面加上你想定义的别名即可。
void空类型
void用的地方还是非常多的,函数的返回值,函数的参数。
堆区开辟空间的时候

void test(void)//void作为函数的返回值和参数
{
	printf("周小继\n");
}
int * p = (int *)malloc(int);

开辟堆区空间的时候,他的返回值为void *类型,需要对其进行强转,void *也被称为万能指针。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值