單目操作符

2021-08-11 06:59:25 字數 1497 閱讀 4562

//單目操作符

//! 非 邏輯反操作,- 負值,+ 正值,&取位址,sizeof(不是函式)運算元的型別長度,以位元組為單位

// ~ 按位取反(包括符號位),-- ++ 前置 後置-- ++ ,*簡接訪問操作符(解引用操作符), (型別) 強制型別轉換

int main()

;printf("%d\n", !a);//0 

printf("%d\n", !b);//1

printf("%p\n", &a);//00d3fed8

printf("%x\n", &a);//d3fed8

printf("%p\n", arr);//004ffc70 arr陣列首元素的位址

printf("%p\n", &arr);//004ffc70  &arr整個陣列的位址  

//&陣列名——陣列名表示整個陣列——這裡取出的是整個陣列的位址

printf("%p\n", arr+1); //004ffc74  加1到第二個元素

printf("%p\n", &arr + 1);//004ffc98 加1到下乙個陣列

//sizeof

printf("%d\n", sizeof(a));//4 

printf("%d\n", sizeof a);//4 a的括號可省 說明sizeof不是函式

printf("%d\n", sizeof(int));// 4 (int) 括號不可省略

printf("%d\n", sizeof(arr));//40 

printf("%d\n", sizeof(int[10]));//40  int [10]指數組的型別

printf("%d\n", sizeof(&arr));//4 &arr指的是位址,4個位元組

printf("%d\n", sizeof(c = a + 5));//4 sizeof內部表示式不參與計算

printf("a=%d\n", a);//10

printf("c=%d\n", c);//20 

//sizeof(陣列名)——陣列名表示整個陣列,計算的是整個陣列的長度,單位是位元組

//&陣列名——陣列名表示整個陣列——這裡取出的是整個陣列的位址

//只有這兩種情況arr指的是整個陣列,其餘情況arr都是首元素位址

//~ 按位取反(包括符號位)

printf("%d\n", ~d);//-1 0按位取反全是1

system("pause");

return 0;

}//++ --

int main()

//* 解引用操作

int main()

void test1(int arr)

void test2(char ch)

int main()

;char ch[10] = ;

test1(arr);

test2(ch);

system("pause");

return 0;

}

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

linq操作符 限定操作符

限定操作符運算返回乙個boolean值,該值指示序列中是否有一些元素滿足條件或者是否所有元素都滿足條件。一 all操作符 all方法用來確定是否序列中的所有元素都滿足條件。看下面的例子 1 using system 2using system.collections.generic 3using s...

前置操作符和後置操作符

操作符可以被過載 全域性函式和成員函式均可以進行過載 過載前置 操作符不需要額外的引數 過載後置 操作符需要乙個int型別的佔位引數 來看乙個例子 include include using namespace std class test intvalue test operator test o...