当前位置: 首页 > news >正文

C语言小知识(1)

1、包含头文件
<>是在标准库里面找
“ ”是在当前目录下找头文件,找不到的话会在便准库里面找

2.整数,指针,实数,BOOL变量和零值比较
整数:
int num;
if(num==0)
if(0==num)可以用于规范错误
if(num=0)编译器不会报错!

指针
char *ptr;
if(ptr==NULL)
if(ptr!=NULL)
指针的”0”用NULL 表示空指针

实数
实数没有绝对的0,因此采用近似值(无限趋近)
#define EPSIN 0.000001
float num2;
if((num2>=-EPSION)&&(num2<=EPSION))

BOOL
布尔模型只有0和1
BOOL flag;
if(flag)
if(!flag)

3、sizeof用法,strlen用法
sizeof是运算符,其用法:
sizeof(…)是运算符,参数可以是数组、指针、类型、对象、函数等。
  它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
  由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。
  具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:
  数组——编译时分配的数组空间大小;
例如:char str1[]=”absde”;输出:sizeof(str1)=6;(“abcde”中共有a b c d e \0六个字符)
char str2[8]={‘a’,};输出:sizeof(str2)=8; (str2已经定义成了长度是8的数组,所以sizeof(str2)为8)
指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4);
   例如:char *str=”absde”;输出:sizeof(str)=4(在C/C++中一个指针占4个字节)
类型——该类型所占的空间大小;
  对象——对象的实际占用空间大小;
  函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。

strlen:
strlen(…)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。
  它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。
char arr[10] = “What?”;输出:sizeof(arr) = 10;strlen(arr) = 5

相关文章:

  • C语言小知识(2)
  • STM32 GPIO的几种工作模式
  • STM32高级定时器(1)
  • STM32 高级定时器(2)
  • C语言指针基础
  • 指针与二维数组
  • 单链表的学习
  • 单链表的排序+手机通讯录源码
  • QT模式对话框
  • Qlable显示文本和图片
  • 工具按钮QToolButton
  • 组合框
  • 单行文本框+按钮实现用户登录
  • 勾选复选框后执行某一个操作
  • 点击按钮显示hello world
  • 2017届校招提前批面试回顾
  • dva中组件的懒加载
  • express + mock 让前后台并行开发
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Rancher如何对接Ceph-RBD块存储
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue的全局变量和全局拦截请求器
  • 关于for循环的简单归纳
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端之React实战:创建跨平台的项目架构
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 深度解析利用ES6进行Promise封装总结
  • 实现简单的正则表达式引擎
  • 使用agvtool更改app version/build
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 我感觉这是史上最牛的防sql注入方法类
  • 我这样减少了26.5M Java内存!
  • 赢得Docker挑战最佳实践
  • 云大使推广中的常见热门问题
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​虚拟化系列介绍(十)
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)(1.13) SiK无线电高级配置(六)
  • (11)MSP430F5529 定时器B
  • (23)Linux的软硬连接
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)(4.6) Triducer
  • (C语言)逆序输出字符串
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二)斐波那契Fabonacci函数
  • (已解决)什么是vue导航守卫
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .gitignore文件_Git:.gitignore
  • .NET 设计一套高性能的弱事件机制