C語言代碼規范(三)if語句

一、整型變量與0比較

許多人為了一時之便,模仿布爾變量風格寫為如下代碼

if(value)
{...
}if(!value)
{...
}

應當用 == 或 != 來與0比較

if(0 == value)
{...
}if(0 != value)
{...
}

二、當if內的語句是與常量進行比較時,常量為左值,變量為右值

if(0 == value)
{...
}if(NULL == ptr)
{...
}

這樣能方便檢測出錯誤,當漏寫=時,編譯器會報錯。?

這個在判斷指針是否為空時尤為重要,此時如果漏寫=,將出現野指針,造成不可預估的后果。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374434.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374434.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374434.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

6月24 面向對象的設計原則-----工廠模式和單列模式

工廠模式: 工廠模式就是專門負責將大量有共同接口的類實例化,而且不必事先知道每次是要實例化哪一個類的模式。它定義一個用于創建對象的接口,由子類決定實例化哪一個類。 工廠模式相當于創建實例對象的new,經常要根據類Class生成…

LeetCode Subsets

原題鏈接在這里:https://leetcode.com/problems/subsets/ 題目: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must be in non-descending order.The solution set must not contain duplicate su…

使用ThreadPoolExecutor并行化獨立的單線程任務

Java SE 5.0中引入的任務執行框架是簡化多線程應用程序的設計和開發的巨大飛躍。 該框架提供了用于管理任務概念,管理線程生命周期及其執行策略的工具。 在此博客文章中,我們將描述該框架的功能,靈活性和簡單性,以展示一個簡單的用…

python定義一個圓_Python-矩形和圓形

原博文 2019-11-11 12:34 ? Exercise 15.1. 定義一個叫做Circle 類,類的屬性是圓心 (center) 和半徑 (radius) , 其中,圓心 (center) 是一個 Point 類,而半徑 (radius) 是一個數字。 實例化一個圓心 (center) 為 (150, 100) ,半…

C語言代碼規范(四)命名規則

一、宏定義全部字母大寫,單詞間下劃線間隔 #define FLASH_PAGE_SIZE 256 #define FLASH_SECTOR_SIZE (4 * 1024) #define FLASH_BLOCK_SIZE (64 * 1024) #define FLASH_SIZE (16 * 1024 * 1024) 二、const修飾的常量全部字母大寫,單詞間…

Forbidden You don't have permission to access / on this server PHP

Forbidden You dont have permission to access / on this server PHP 在新安裝的谷歌游覽器里,打不了PHP網站了,錯誤顯示: Forbidden You dont have permission to access / on this server. 原因還是配置權限問題 解決辦法: wa…

Spring 3.1和JPA的持久層

1.概述 本教程顯示了如何使用Hibernate作為持久性提供程序使用JPA設置Spring 。 有關使用基于Java的配置和項目的基本Maven pom設置Spring上下文的分步介紹,請參閱本文 。 2. Java的JPA Spring配置 要在Spring項目中使用JPA, 需要設置EntityManager 。…

150928錯誤認識

1. $arr array(); foreach ($re as $k>$v){  $arr[] $v[updatetime];} $arr的返回結果為: Array ([0] > 2014-09[1] > 2015-04[2] > 2015-09 )$arr array(); foreach ($re as $k>$v){  $arr[$k] $v[updatetime];} $arr的返回結果為&#xff…

STM32F1筆記(一)GPIO輸出

GPIO:General Purpose Input Output (通用輸入/輸出)。 GPIO最經典應用:LED燈。 先看電路。聲明:參考正點原子戰艦開發板。 與LED串聯的電阻稱為限流電阻。 限流電阻計算公式:R(U-LED壓降)/20ma。 U為LE…

dataframe轉化為array_【Python專欄】12 種高效 Numpy 和 Pandas 函數為你加速分析

來源:機器之心編譯:Jamin、杜偉、張倩我們都知道,Numpy 是 Python 環境下的擴展程序庫,支持大量的維度數組和矩陣運算;Pandas 也是 Python 環境下的數據操作和分析軟件包,以及強大的數據分析庫。二者在日常…

具有GlassFish和一致性的高性能JPA –第1部分

您以前聽說過連貫性嗎? 大概是。 它是那些著名的內存網格解決方案之一,該解決方案承諾了超快的數據訪問速度和對經常使用的數據的無限空間。 一些眾所周知的競爭對手是Infinispan , Memcached和Terracotta Ehcache 。 它們都很棒,…

如何在自己的代碼中實現分享視頻文件或者是圖片文件到微信 QQ微博 新浪微博等!!!...

首先在文檔第一句我先自嘲下 , 我是大傻逼, 弄了兩天微信是視頻分享,一直被說為啥跟系統的相冊分享的不一樣,尼瑪!!! 這里來說正文,我這里不像多少太多,大家都是程序猿&a…

sql 數據庫中用創建好的視圖修改表數據

只要滿足下列條件,即可通過視圖修改基礎基表的數據: 1、任何修改(包括 UPDATE、INSERT 和 DELETE 語句)都只能引用一個基表的列。 2、視圖中被修改的列必須直接引用表列中的基礎數據。不能通過任何其他方式對這些列進行派生&#…

boost原理與sklearn源碼_機器學習sklearn系列之決策樹

一、 Sklearn庫 Scikit learn 也簡稱 sklearn, 自2007年發布以來,scikit-learn已經成為Python重要的機器學習庫了。支持包括分類、回歸、降維和聚類四大機器學習算法。還包含了特征提取、數據處理和模型評估三大模塊。sklearn是Scipy的擴展,建立在NumPy和…

STM32F1筆記(二)GPIO輸入

STM32 GPIO輸入的經典應用是按鍵。 先看電路。聲明:參考正點原子戰艦開發板。 在這里可以看到,KEY_UP按鍵是高電平有效的,即當按下該按鍵時,GPIO讀到高電平。 KEY0/1/2是低電平有效的,即當按下該按鍵時,G…

Google Authenticator:將其與您自己的Java身份驗證服務器配合使用

用于移動設備的Google Authenticator應用程序是一個非常方便的應用程序,它實現了TOTP算法(在RFC 6238中指定)。 使用Google Authenticator,您可以生成時間密碼,該密碼可用于在共享請求用戶密鑰的身份驗證服務器中授權用…

[Week2 作業] 代碼規范之爭

這四個問題均是出自 http://goodmath.scientopia.org/2011/07/14/stuff-everyone-should-do-part-2-coding-standards/ 。 我對這四個問題均持反駁的看法,下面是我的理由~ Q1:這些規范都是官僚制度下產生的浪費大家的編程時間、影響人們開發效率, 浪費時…

STM32F1筆記(三)UART/USART

UART:Universal Asynchronous Receiver/Transmitter(通用異步收/發器) USART:Universal Synchronous/Asynchronous Receiver/Transmitter(通用同步/異步串行收/發器) 從命名即可看出USART就是UART的基礎上…

python安裝界面翻譯_python環境搭建

如果想要運行python需要有解釋器和編輯器。 什么是解釋器 解釋器我們可以把它理解成翻譯官,它是將我們寫的python代碼翻譯成計算機能夠懂得機器語言。 然后計算機收到解釋器的命令來干活,最終再將結果反饋在解釋器中。 解釋器推薦使用anaconda3 什么是an…

無需重新部署Eclipse和Tomcat即可進行更改

他們說,由于應用程序服務器過大,Java的開發速度很慢–您必須重新部署應用程序才能看到所做的更改。 使用PHP,Python等腳本語言時,可以“保存并刷新”。 這個法定問題總結了這個“神話”。 是的,這是一個神話。 您也可以…