C语言校招面试常见知识点

C语言字符串函数

1、字符串输出函数:

      puts(字符串数组名);

2、字符串输入函数:

      gets(字符串数组名);

3、字符串连接函数:

      strcat(字符数组1,字符数组2);

      作用:把字符串2连接到字符串1后面,结果放在数组1中

4、字符串赋值函数:

      strcpy(字符数组1,字符串2);

      作用:把字符串2复制到字符数组2中

      strncpy(字符数组1,字符串2,n);

      作用:把字符串2前n个字符组成的字符串复制到字符数组1中

5、字符串比较函数:

      strcmp(字符串1,字符串2);

      若字符串1与字符串2相等,则函数返回0;

      若字符串1大于字符串2,则函数返回正值;

      若字符串1小于字符串2,则函数返回负值。

6、计算字符串长度函数:

      strlen(字符串);

      计算的长度把包括字符串结束标记'\0'

7、字符串大小写转换函数:

     大写转小写:strlwr(字符数组名);

     小写转大写:strupr(字符数组名);

 

 

结构体变量定义:

     struct 结构体类型名 结构体变量名;

     例:struct student stud1,stud2;

     类型相同的两个变量可以直接复制

            例:stud1 = stud2;

 

共用体:

       共用体类型的所有成员变量共同用一段内存,某一时刻共用体类型中只用一个成员起作用

定义:

       union 共用体类型名 共用体变量名;

       例:union data u1, u2 ;

       类型相同的两个变量可以直接复制

       例:u1 = u2;

 

枚举类型定义:

        enum 枚举类型名 {枚举值1,枚举值2,...,枚举值n};

        例:enum weekday {sun,mon,tue,wed,thu,fri,sat};

         weekday d1, d2;

 

#define 与 typedef 的区别

(1)原理不同

         #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错

         typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不能在一个函数定义里面使用typedef。

(2)功能不同

         typedef用来定义类型的别名,起到类型易于记忆的功能。另一个功能是定义机器无关的类型。

         #define不只是可以为类型取别名,还可以定义常量、变量、编译开关等。

(3)作用域不同

          #define没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用,而typedef有自己的作用域。

(4)对指针的操作不同

 

volatile

       volatile 是一个类型修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。

       当要求使用 volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值