• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C/C++常用函数易错点分析

C/C++常用函数易错点分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++调用c函数,c c++ c#区别,c和c++的区别,c语言和c++有什么区别,c/c++等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文简单分析了C/C++中常用函数的易错点,包括memset、sizeof、getchar等函数。分享给大家供大家参考之用。具体分析如下:

1.memset

#include <string.h>
void* memset( void* buffer, int ch, size_t count );
</div>

将内存中buffer的前count个字节的内容全部设置为ch指定的ASCII值.经常用来初始化数组.复制时以字节为单位,如果buffer是int long,或者其他类型的指针时,需要注意不一定为数组的大小,应该是为 数组大小*sizeof(类型).推荐直接使用:

sizeof(buffer)//buffer是数组
</div>

2.sizeof

返回类型大小,以字节为单位.
对数组和指针是不同的.

int *p=new int[5]; 
int q[5]={0}; 
cout<<sizeof(p)<<endl; 
cout<<sizeof(q)<<endl; 
delete[] p;

</div>

输出值是不同的.(64位机器测试)
sizeof(p):p为指针,输出的是指针类型的大小,64位上64/8=8
sizeof(q):q为int类型的数组,输出的是数组所占字节数.4*5=20.

3.getchar

#include <stdio.h>
int getchar( void );

</div>

这里getchar返回的是整形而不是char,若出现下面代码.

char c;
while((c=getchar())!=EOF)
{
XXX
}

</div>

这里c是被截断int类型的一部分,c可能无法容下所有字符,特别是EOF.
出现结果的可能,

1)某些字符截断后与EOF相同,导致程序在运行时正常终止

2)陷入死循环

3)有些编译器确实对c进行了截断处理,但是比较时,比较的 是getchar的返回值与EOF,导致程序看似"正常运行"

希望本文所述对大家的C/C++程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C/C++字符串查找函数全面了解
  • C/C++杂记 虚函数的实现的基本原理(图文)
  • C/C++函数调用栈的实现方法
  • C/C++常用函数易错点分析
  • C/C++函数调用的几种方式总结
  • C/C++回调函数介绍

相关文章

  • 2017-05-28C++的template模板中class与typename关键字的区别分析
  • 2017-05-28进程间通信之深入消息队列的详解
  • 2017-05-28MFC命名规则汇总
  • 2017-05-28C++多线程编程简单实例
  • 2017-05-28C++中Boost库裁剪与其应用详解
  • 2017-05-28C语言实现汉诺塔游戏
  • 2017-05-28C++基于先序、中序遍历结果重建二叉树的方法
  • 2017-05-28输入一个字符串,取出其中的整数(实现代码)
  • 2017-05-28C++编写DLL动态链接库的步骤与实现方法
  • 2017-05-28判断指定的进程或程序是否存在方法小结(vc等)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 链接库动态链接库详细介绍
    • c++友元函数与友元类的深入解析
    • 在C语言编程中使用变量的基础教程
    • 如何用C语言画一个“圣诞树”
    • C++ 中 const和static readonly区别
    • C语言简单实现计算字符个数的方法
    • 浅谈使用Rapidxml 库遇到的问题和分析过程(分享)
    • C语言中进程信号集的相关操作函数详解
    • 用32位int型变量表示单引号括起来的四个字符的深入探讨
    • 深入分析C中不安全的sprintf与strcpy

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有