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

发布于:2023-01-08 ⋅ 阅读:(469) ⋅ 点赞:(0)

初识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才会结束,不同的编译器,会打印不同的值。

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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到