c语言快速入门 简书,C语言快速回顾

关于数组

数组应该可以看做一个常量指针,也就是只能赋值一次。

关于函数指针

通过typedef 类型 (*类型名)(参数列表),可以定义一个函数指针的类型。

定义函数指针的语法很像声明一个函数,只不过要用括号将*和函数名括起来,如:

int (*fun_ptr)(int,int)

对函数指针赋值时可以直接用函数名,也可以对函数名取址后再赋值。

使用函数指针时直接使用,不需要加上*。

关于字符串

c语言中字符串以字符数组的形式存储,同时在结尾处加上一个"\0"。

常用string库函数:

strcpy(s1,s2),复制字符串 s2 到字符串 s1

strcat(s1,s2),连接字符串 s2 到字符串 s1 的末尾

strlen(s),求出字符串s的长度

strcmp(s1,s2),如果 s1 和 s2 是相同的,则返回 0;如果s1s2 则返回大于 0

strchr(s,ch),返回一个指针,指向字符串s中字符ch第一次出现的位置。

strstr(s1,s2),返回一个指针,指向字符串s1中字符串s2第一次出现的位置。

关于结构体

结构体的标准定义格式为:

struct 结构体名称

{

相关定义

}变量名;

这里有两个地方需要说,结构体名称可以省略,但是在上面情况下需要写明呢?那就是如果你的结构体是嵌套结构体(比如链表节点),那么在内部就需要注明结构体名称。

变量名可以指定一个或者多个,当然不指定也是可以的。

还可以定义位域,注意位域不能跨字节。

关于共用体

用union定义,定义形式和结构体类似。但是他是多个成员共用一个内存空间,其长度由最大成员长度决定。

关于位域

好像有点不懂= =。

关于typedef

给类型起别名,常用于缩短类型和给结构体起别名。

与#define有区别,第一个区别是#define还可以为数值定义别名,第二个区别是typedef是编译器执行的而#define是预编译器执行的。

关于输入与输出

getchar()和putchar(int c),这俩是通过返回值返回单个字符。

gets()和puts(),这俩是通过参数返回。

scanf()和printf(),这俩通过占位符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值