C语言关键字 #define 指针 结构体 strlen

初识C语言2.0

1.常见的关键字

关键字必要的解释
auto自动的,每个局部变量都是auto修饰的,但我们一般省略不写
break
continue
case
char
const
default默认
do
double
else
enum枚举
extern是用来申明外部符号的
float
for
goto
if
int
long
register寄存器关键字,register int num=100 //建议num的值存放在寄存器中
return
short
signed有符号位的
unsigned无符号位的
sizeof
static
stuct
switch
union联合体
typedef
void
volatile
while

2.typedef关键字

  trpedef类型重命名。

typedef int n_int 
//解释代码  将关键字int 在此程序中改为n_int。

3.static关键字

static修饰全局变量。使得这个全局变量只能在自己所在的源文件(.c)内部使用,使用其他源文件不能使用。
static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)。
static修饰函数。使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用。
static使得变量出了自己的作用域不会销毁。

稍加解释:全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成内部链接属性,其他源文件就不能链接到这个静态的全局变量。

4.#define定义常量和宏

  define是一个预处理指令。
  define定义符号。

#define pow 10
//将pow在此文件中定义为10

5.初识指针

  指针大小在32位平台是4个字节,在64位平台是8个字节。
%p用来打印地址。

int a=10;
int *pa = &a;

6.初始结构体

创建一个学生

struct stu
{
    char name[20];//定义学生名字
    int age ;//定义学生年龄
    double score;//定义学生成绩
};

struct stu s={"张三"2085.5};
//定义学生名字为 张三
      // 年龄为 20
      // 成绩   85.5

7.学会函数strlen

#include<stdio.h>
#include<string.h> //函数strlen在头文件中的<string.h>中
int main()
{
    char arr[]={'b','i','t'};
    printf("%d\n",strlen(arr));
    return 0;
}

大家觉得这个结果是多少呢?

会是3吗?还是别的数字呢?

不卖关子了,答案是 随机值 \color{red}{随机值} 随机值!对,没错,答案是 随机值 \color{red}{随机值} 随机值

解释:

s t r l e n 直到读到 \color{blue}{strlen直到读到} strlen直到读到 \n 才会结束。 \color{blue}{才会结束。} 才会结束。
*但在此代码中,数组并没有明确规定大小,所以当strlen读到带三个字符t的时候,接下来并没有读到 \n,会一直向后读,直到读到\n才会结束,不同的编译器,会打印不同的值。

学的不仅是技术,更是梦想

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君生我老

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值