首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言運算符區別:& vs &&、* vs ** 完整對比

     編輯:程式設計疑難解答

& (位元 AND) vs && (邏輯 AND)

運算子類型運算規則短路典型用途
&位元逐位 1&1=1,其餘 0否旗標操作、掩碼、快速模 2^n
&&邏輯雙方非零則真是 (左側為 0 不算右側)條件判斷、守衛子句
int a = 1, b = 2;
a & b   // 01 & 10 = 00 -> 0 (假)
a && b  // 真 && 真 -> 1 (真)

* (指標/乘法) vs ** (二級指標/冪次)

符號含義 1含義 2C 標準支援
*指標宣告/解引用乘法運算子是
**二級指標 (int** p)冪次 (Python 2**3=8)C 無冪次運算子,需 pow()
int a = 10;
int *p = &a;      // 一級指標
int **pp = &p;    // 二級指標
printf("%d", **pp); // 10

記憶口訣

  • & 單一 = 位元雙向;&& 雙重 = 邏輯短路。
  • * 一顆星 = 指向/乘;** 兩顆星 = 指向指向 / 他語言冪次。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved