C語言注意事項

2021-10-05 07:31:22 字數 4374 閱讀 2960

一、關於typedef與#define的相似之處

例如:typedef int count;

#define count int

作用:都是用count代表int,但事實上,二者是不同的。#define是在預編譯時處理的,只能作簡單的字串替換,而typedef是在編譯時處理的,並不是作簡單的字串替換,而是宣告乙個型別。

二、有關整型的資料型別含義

資料型別

含義int p;

定義整型變數p

int *p;

p為指向整型資料的指標變數

int p[n];

定義整型陣列p,它有n個元素

int *p[n];

定義指標陣列p,它由n個指向整型資料的指標元素組成

int (*p)[n];

p為指向含n個元素的一維陣列的指標變數

int p();

p為帶回整型函式值的函式

int *p();

p為帶回乙個指標的函式,該指標指向整型資料

int (*p)();

p為指向函式的指標,該函式返回乙個整型值

int **p;

p是乙個指標變數,它指向乙個指向整型資料的指標變數

三、有關二維陣列表示式的含義

表示式含義a

二維陣列名,指向一維陣列a[0],即0行首位址

a[0]、*(a+0)、*a

0行0列元素位址

a+1、&a[1]

1行首位址

a[1]、*(a+1)+2、&a[1][2]

1行2列元素a[1][2]的位址

*(a[1]+2)、*(*(a+1)+2)、a[1][2]

1行2列元素a[1][2]的值

四、變數命名的規則

(1)編譯系統將大寫和小寫字母認為是兩個不同的字元

(2)建議變數名的長度最好不要超過8個字元

(3)在選擇變數名和其他識別符號時,應做到「見名知意」,即選有含義的英文單詞(或其縮寫)作識別符號

(4)要求對所有用到的變數作強制定義,就是「先定義。後使用」

五、c語言運算子優先順序

優先順序

運算子

名稱或含義

使用形式

結合方向

說明

1

陣列下標

陣列名[常量表示式]

左到右()

圓括號(表示式)/函式名(形參表)

.

成員選擇(物件)

物件.成員名

->

成員選擇(指標)

物件指標->成員名

2

-

負號運算子

-表示式

右到左

單目運算子

~

按位取反運算子

~表示式

++

自增運算子

++變數名/變數名++

--

自減運算子

--變數名/變數名--

*

取值運算子

*指標變數

&

取位址運算子

&變數名

!

邏輯非運算子

!表示式

(型別)

強制型別轉換

(資料型別)表示式

sizeof

長度運算子

sizeof(表示式)

3

/

表示式/表示式

左到右雙目運算子

*

表示式*表示式

%

餘數(取模)

整型表示式%整型表示式

4

+

表示式+表示式

左到右雙目運算子

-

表示式-表示式

5

<<左移

變數《表示式

左到右雙目運算子

>>右移

變數》表示式

6

>大於

表示式》表示式

左到右雙目運算子

>=

大於等於

表示式》=表示式

<小於

表示式《表示式

<=

小於等於

表示式<=表示式

7

==等於

表示式==表示式

左到右雙目運算子

!=

不等於表示式!=  表示式

8

&

按位與表示式&表示式

左到右雙目運算子

9

^

按位異或

表示式^表示式

左到右雙目運算子

10

|

按位或表示式|表示式

左到右雙目運算子

11

&&

邏輯與表示式&&表示式

左到右雙目運算子

12

||

邏輯或表示式||表示式

左到右雙目運算子

13

?:

條件運算子

表示式1?

表示式2:  表示式3

右到左

三目運算子

14

=

賦值運算子

變數=表示式

右到左

/=

除后賦值

變數/=表示式

*=

乘後賦值

變數*=表示式

%=

取模後賦值

變數%=表示式

+=

加後賦值

變數+=表示式

-=

減後賦值

變數-=表示式

<<=

左移後賦值

變數<<=表示式

>>=

右移後賦值

變數》=表示式

&=

按位與後賦值

變數&=表示式

^=

按位異或後賦值

變數^=表示式

|=

按位或後賦值

變數|=表示式

15

逗號運算子

表示式,表示式,…

左到右注意:

同一優先順序的運算子,運算次序由結合方向所決定。

簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子

C語言注意事項

1 fgetc與fputc函式 fgetc函式從指定的文 件中讀乙個位元組 fputc 函式向指定的檔案寫乙個位元組 2 r 是回車,n 是換行,前者使游標到行首,後者使游標下移一格。c語言程式設計時 windows系統 r 就是return 回到 本行 行首 這就會把這一行以前的輸出 覆蓋掉 如 ...

c語言指標注意事項

這幾天對c語言的指標溫習了下,感覺理解又更深入了一步 c語言的精髓是指標我想確實一點都不錯,但是在使用的時候有很多要注意的地方,大概總結一下 1.指標指向常量區,是不能修改其值的 比如 char p abcfd char ptr abcfd p 1 c 此時會報錯,因為 abcfd 為常量區,其值是...

C 注意事項

include using namespace std class superclass virtual superclass virtual void dosomething const protected intitsage class subclass public superclass vo...