設有如下定義 intptr則以下敘述中正確的是

時間 2021-09-03 07:07:18

1樓:墨汁諾

c。ptr函式返回一個int 型資料 //這個才是正確的,理由是int fun();顯然是一個函式說明,fun換為(*ptr),則ptr就是指向函式的指標了。

int (*ptr)[m] ptr是一個指向m長度的線性記憶體空間,即m大小的一維陣列

int(*ptr)() ptr是一個返回值為int ,引數列表為空的函式指標型別。

例如,int *p,先根據優先順序,等效於*(p),所以p本質上是一個有三個元素的陣列;那麼陣列的每個元素是一個指標;那指標指向是指向一個int型的資料;所以整理一下就是p是一個有三個指向int資料的指標的陣列,本質上就是一個陣列。

2樓:

c. ptr 是指向函式的指標 ;該函式返回一個int 型資料 //這個才是正確的,理由是int fun();顯然是一個函式說明,fun換為(*ptr),則ptr就是指向函式的指標了。

3樓:匿名使用者

選擇c我們先從一步一步的分析,

1,ptr和*最近且在()裡面一次運算優先順序最高,從這裡可以看出ptr是一個指標

2,接著我們出(),把*ptr計做x,則可以看成是int x(),我們很容易看出這是一個函式

而且這個函式沒有引數,有一個int型別的返回值結合上述兩點,我們知道ptr是一個指向函式的指標,它指向的函式無參,有一個int型別的返回值

4樓:匿名使用者

明顯選c啊,這是標準的函式指標的定義方法

5樓:匿名使用者

d. ptr 是一個函式名 ;該函式的返回值是指向int 型資料的指標

分析:排除法

a陣列的表示方法是中括號。,故不正確

b 指向int型資料的指標變數是 int *ptrc ptr是指向函式的指標。那函式呢?函式必有函式名對吧。找不到。故不正確

6樓:

c原理:

每個c變數宣告都具有兩個部分:一個型別和一組具有特定格式的、期望用來對該型別求值的表示式。最簡單的表示式就是一個變數:

float f, g;

說明表示式f和g在求值的時候具有型別float。由於待求值的是表示式,因此可以自由地使用圓括號:

float ((f));

這表示((f))求值為float並且因此,通過推斷,f也是一個float。

同樣的邏輯用在函式和指標型別。例如:

float ff();

表示表示式ff()是一個float,因此ff是一個返回一個float的函式。類似地,

float *pf;

表示*pf是一個float並且因此pf是一個指向一個float的指標。

這些形式的組合宣告對表示式是一樣的。因此,

float *g(), (*h)();

表示*g()和(*h)()都是float表示式。由於()比*繫結得更緊密,*g()和*(g())表示同樣的東西:g是一個返回指float指標的函式,而h是一個指向返回float的函式的指標。

c語言 設有以下說明語句: struct stu { int a; float b; }stutype; 則下面的敘述不正確的是( )

7樓:

答案是c,stutype不是結構體型別名,而是struct stu結構體型別的結構體變數名。

設有如下定義 struct{int n;char c;}a[2],*p=a; 則以下錯誤引用結構

8樓:天雲一號

選a因為a是陣列,*a等價於a[0],而a[0]->n是錯誤的,因為a[0]不是指標,不能用指向運算子,只能用選項b的形式

9樓:紫殤丿枯陌

a*p相當於a 所以 錯了

設有以下定義 int a,設有以下定義 int a 2 3 , p 3 p a 則對a陣列元素的非法引用是( )

a啊!這位出題先生太忽悠人了,你沒有發現表示式中的a是大寫的嗎?沒定義啊 哈哈 int a 2 3 int p a與int a 2 3 int p 3 a 的區別 int p 3 是陣列指標,指向有三個元素的陣列 p a 0 位址 p a 1 位址 int p是整形指標 p a 0 0 位址 p a...

設有如下定義 int pp 100則printfd ,p的輸出結果是100,對麼?為什麼

隔壁小鍋 int p p 100 則 printf d p 的輸出結果是100是不對的,p宣告為一個int型指標,但是沒有指向具體的記憶體空間。int型別在記憶體中佔用了4個位元組,也就是32位。int型別是有符號的,因此,32位並不會全部用來儲存資料,使用最高位來儲存符號,最高位是0,提示資料是正...

在C語言中,如果有如下定義 int x 5,y y x 3,x 13 ,x 2則y

x 3,x 13 是一個逗號表示式,結果是最右邊那個表示式x 13的值18。y x 3,x 13 x 2 即y 18,x 2 又是一個逗號表示式,先將y賦值為18,再算x 2等於10。所以y 18。 這題主要就是明白兩個概念 1 逗號表示式將多個子式聯接起來,從左往右計算,整個逗號表示式的值為最後一...