解引用* 與 assert()

1.*,翻譯爲解引用。指的是「取指針指向的地址的內容」。 html

指針變量存儲」其餘變量」的地址,當咱們用「*」去操做指針時,取出指針所指內存區域的值。 express

2. 測試

參考:http://ylwn817.blog.sohu.com/145220898.html spa

 assert()是C 語言標準庫中提供的一個通用預處理器宏,在代碼中常利用assert()來判斷一
個必需的前提條件以便程序可以正確執行。 翻譯

原型是: 指針

#include<assert.h> htm

void assert(int expression); blog

assert的做用是用先計算表達式expression,若是爲假(0),則向stderr打印出錯信息,而後調用abort來終止程序運行。 排序

應用舉例: 內存

假定咱們要讀入一個文本文件,並對其中的詞進行排序。必需的前提條件是文件名已經提供給咱們了這樣咱們才能打開這個文件。
爲了使用assert() 必須包含與之相關聯的頭文件
#include <assert.h>

 //for example:
assert( filename != 0 );
assert()將測試filename 不等於0 的條件是否知足這表示爲了後面的程序可以正確執
行咱們必須斷言一個必需的前提條件若是這個條件爲假即filename 等於0 斷言
失敗則程序將輸出診斷消息而後終止

還須要說明的是

assert.h是C語言的頭文件,而C++ 中頭文件是 cassert.

C++的頭文件老是C的頭文件加c,而後後面去掉.h後綴。

相關文章
相關標籤/搜索