欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++常用函數(shù)易錯點分析

 更新時間:2014年08月27日 16:19:17   投稿:shichen2014  
這篇文章主要介紹了C/C++常用函數(shù)易錯點分析,包含了memset、sizeof、getchar三個常用函數(shù)的分析,需要的朋友可以參考下

本文簡單分析了C/C++中常用函數(shù)的易錯點,包括memset、sizeof、getchar等函數(shù)。分享給大家供大家參考之用。具體分析如下:

1.memset

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

將內(nèi)存中buffer的前count個字節(jié)的內(nèi)容全部設(shè)置為ch指定的ASCII值.經(jīng)常用來初始化數(shù)組.復(fù)制時以字節(jié)為單位,如果buffer是int long,或者其他類型的指針時,需要注意不一定為數(shù)組的大小,應(yīng)該是為 數(shù)組大小*sizeof(類型).推薦直接使用:

sizeof(buffer)//buffer是數(shù)組

2.sizeof

返回類型大小,以字節(jié)為單位.
對數(shù)組和指針是不同的.

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

輸出值是不同的.(64位機器測試)
sizeof(p):p為指針,輸出的是指針類型的大小,64位上64/8=8
sizeof(q):q為int類型的數(shù)組,輸出的是數(shù)組所占字節(jié)數(shù).4*5=20.

3.getchar

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

這里getchar返回的是整形而不是char,若出現(xiàn)下面代碼.

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

這里c是被截斷int類型的一部分,c可能無法容下所有字符,特別是EOF.
出現(xiàn)結(jié)果的可能,

1)某些字符截斷后與EOF相同,導(dǎo)致程序在運行時正常終止

2)陷入死循環(huán)

3)有些編譯器確實對c進行了截斷處理,但是比較時,比較的 是getchar的返回值與EOF,導(dǎo)致程序看似"正常運行"

希望本文所述對大家的C/C++程序設(shè)計有所幫助。

相關(guān)文章

  • C語言實現(xiàn)手寫字符串處理工具的示例代碼

    C語言實現(xiàn)手寫字符串處理工具的示例代碼

    這篇文章主要為大家詳細介紹了利用C語言實現(xiàn)手寫字符串處理工具的相關(guān)資料,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • win10環(huán)境下C++ vs2015編譯opencv249的教程

    win10環(huán)境下C++ vs2015編譯opencv249的教程

    這篇文章主要介紹了win10環(huán)境下C++ vs2015編譯opencv249的教程,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 解決Visual?Studio?Code錯誤Cannot?build?and?debug?because?the

    解決Visual?Studio?Code錯誤Cannot?build?and?debug?because?

    這篇文章主要為大家介紹了解決Visual?Studio?Code錯誤Cannot?build?and?debug?because?the及分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C++ map詳解

    C++ map詳解

    下面小編就為大家?guī)硪黄獪\談c++中的map。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • C++ 中回調(diào)函數(shù)詳解及簡單實例

    C++ 中回調(diào)函數(shù)詳解及簡單實例

    這篇文章主要介紹了C++ 中回調(diào)函數(shù)詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++中類的構(gòu)造函數(shù)初始值列表解讀

    C++中類的構(gòu)造函數(shù)初始值列表解讀

    這篇文章主要介紹了C++中類的構(gòu)造函數(shù)初始值列表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • VsCode搭建C語言運行環(huán)境詳細過程及終端亂碼問題解決方案

    VsCode搭建C語言運行環(huán)境詳細過程及終端亂碼問題解決方案

    這篇文章主要介紹了VsCode搭建C語言運行環(huán)境以及終端亂碼問題解決,在VsCode中搭建C/C++運行環(huán)境需要先安裝幾個插件,具體插件文中給大家詳細介紹,需要的朋友可以參考下
    2022-12-12
  • C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決

    C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決

    這篇文章主要介紹了C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • VC實現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法

    VC實現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法

    這篇文章主要介紹了VC實現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法,比較實用的一個特殊功能,需要的朋友可以參考下
    2014-08-08
  • C語言strlen函數(shù)全方位講解

    C語言strlen函數(shù)全方位講解

    在C語言中我們要獲取字符串的長度,可以使用strlen函數(shù),strlen函數(shù)計算字符串的長度時,直到空結(jié)束字符,但不包括空結(jié)束字符,因為 strlen函數(shù)時不包含最后的結(jié)束字符的,因此一般使用strlen函數(shù)計算的字符串的長度會比使用sizeof計算的字符串的字節(jié)數(shù)要小
    2022-09-09

最新評論