c語言中為什麼要加星號,C語言中為什麼要加星號!

2021-06-10 13:12:57 字數 3609 閱讀 6061

1樓:風若遠去何人留

在c語言中使用*號有兩種情況。

1 做乘法運算子使用。

在計算機中一般不使用數學的乘號×,而是用更容易打出的*替代。

如果*出現在運算中,且左右都有表示式,那麼*就是當做乘號來使用的。

比如#include

int main()

這個程式就是簡單的計算3*4的輸出,會輸出12。

2 定義指標時做識別符號。

在c語言中有指標的概念,在定義某個型別的指標時,會採用type *name;的形式。 具體說明在第三部分中一併敘述。

3做取值運算子。

對某個指標變數做*操作,表示取該指標指向地址中的值。

在這種情況下*位於所要取值的指標變數前。如*p。

比如#include

int main()

2樓:

char *s,其中s表示指標,指標可以接受字元和字串的賦值例如:char *s;

s="abc";

其中s="abc"表示把abc所在的地址賦給了s,而*s也就是指向了abc所在的地址,也有了值「abc」。

3樓:匿名使用者

開始的星號是定義指標沒有問題相當於一個字元陣列a後面的其實是將指標中的內容取出再賦值

*(s+i)=*(s+n-i)相當於

a[i]=a[n-i]

4樓:匿名使用者

星號可以聲名指標型別變數,也可取的指標變數的值,提高了程式的效率

5樓:ma饅頭

加星號改變值,不加改變指標指向,不一樣。

6樓:

*是指標運算子(不是取地址運算子!)

有沒有加*是不一樣的``

char *s,加*表示變數s是一個指向字元型的指標變數,不加*(char s)表示變數s是一個字元型變數

*(s+i)=*(s+n-i)表示它們指向的儲存單元內容相等,即s+i儲存內容和s+n-i儲存內容相等。而(s+i)=(s+n-i)則表示它們表示式的值是相等的,即s+i與s+n-i值相等。

不能簡單的把加*看成就是指標,因為它同時還是一個運算子,雖然s是一個指標,但加*時它表示的是字元值,不加*時可以看成是地址值,比如:假設s值為0x25,*s值為0x41,則執行s=s+1後*s不一定等於0x41,假設0x26儲存內容是0x42即字母b,則s=0x26,*s='b';而執行*s=*(s+1)後則s=0x25,*s='b'.

c語言自定義函式加星號是什麼意思? 20

7樓:苟衣晉韻

1.c語言在定義變數時加兩個星號是表明這個變數為二級指標2.c語言中在定義變數時使用

*號是為了表明該變數為指標

3.指標有分一級指標,二級指標,**指標等,有幾個*號就相當於是幾級指標

8樓:匿名使用者

函式定義前加星號應該指的是返回值是一個指標(即地址)

9樓:冰至誠

加*號的是指標型別,這個概念比較複雜,你還是看書比較好

10樓:stand左手

把程式 貼出來 看看 討論討論

11樓:匿名使用者

sqlist *creat(void) 代表返回一個指標寫成下面這樣清楚點

sqlist* creat(void);

main()

c語言中定義變數時在變數前面加2個星號是什麼意思

12樓:匿名使用者

float **b 表示b是一個「指標的指標」,也可以理解為是一個二維陣列的指標,***具有類似的解釋,可以理解為是一個三維陣列的指標。

13樓:福建省寧德市

c語言在定義變數時加兩個星號是表明這個變數為二級指標

c語言中在定義變數時使用 * 號是為了表明該變數為指標

指標有分一級指標,二級指標,**指標等,有幾個  *  號就相當於是幾級指標

14樓:匿名使用者

指標好好看看書

很重要的東東

c語言程式裡指標中的星號到底什麼意思?

15樓:豪哥侃球

c語言中* 在定義的時候,只是說明我要定義一個指標了。

* 在非定義的時候,表示取後面那個地址裡面的內容。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

c語言中的星號「*」

16樓:萬能導師

這意味著我要定義一個指標,*未定義時,獲取以下地址的內容,輸入方法。

1.開啟visualc++6.0-file-新建的copy-file-c++原始檔,如下圖所示:

2.輸入預處理命令和主函式,如下圖所示:

3.定義可變度量並確定行數,如下圖所示:

4.確定空格數,如下圖所示:

5.確定每行星號的數量,並將它們包裝起來,如下圖所示:

6.執行如下,以輸出所需的星號:

17樓:888愚公

#define adc_a (*( structadc64_tag *) (0x0000000x3048)

樓主,是這樣子的,首先將 0x000000 加上0x3048,結果用 ( struct

adc64_tag *) 強制轉化成一個指向struct adc_64結構的指標,如果不強制轉化就把這個值當做指標,或者說地址,來訪問的話,編譯器是會報錯的,然後第一個的*號表示訪問這個地址!完畢。

18樓:徐徐隨風倒

樓上回答是正確的,舉個例子:

char * test = null;

我們給test分配堆空間

test = (char *) malloc(5);

這裡的char* 就是把分配的5個大小的空間引用為 char * 型別的

如果我們已經給test指向的空間賦值 比如賦值為「123」

這時我們通過 *test 訪問地址空間儲存的內容

19樓:伊·梵

*的用法

1.指標 ( struct adc64_tag *) (0x000000 + 0x3048)強制型別轉換

2.取指標的值中的 *p 就是取指標p指向的值

3.乘法運算子 3*4

4.字元'*' "3*4"

5.註釋 /* 這裡是註釋 */

20樓:匿名使用者

從第二個星號看起,這個星號表示把地址(0x000000+0x3048)引用為一個結構體指標,

然後到第一個星號, 這個星號表示取指標值

C語言中headnode是什麼,C語言中,頭指標head,和headnext分別是什麼

應該是個變數名,直譯過來是頭指標,一般用在連結串列裡 c語言。如圖。星號 跟在node後面和在head前面有什麼區別?這兩種寫法效果是一樣的,沒有區別 如同 定義一個指標變數,可以寫 int p int p int p 沒區別 都是代表結構體指標 c語言中,頭指標head,和head next分別是...

c語言中for是什麼意思C語言中for是什麼意思?

在c語言中,for語句使用最為靈活,它的一般形式為 for 表示式1 表示式2 表示式3 語句它的執行過程如下 先求解表示式1。求解表示式2,若其值為真 非0 則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假 0 則結束迴圈,轉到第5 步。求解表示式3。轉回上面第2 步繼續執行。迴...

c語言中void什麼意思,C語言中void是什麼意思

中文翻bai譯為 無 型別 常用 du在程式zhi編寫中對定義函式的引數dao型別 返回版值 函式中指標型別權進行宣告。void的字面意思是 無型別 void 則為 無型別指標 void 可以指向任何型別的資料。void幾乎只有 註釋 和限制程式的作用,定義一個void變數沒有意義,不妨試著定義 v...