cost 141 ms
為什么我們在將變量傳遞給 scanf 時需要地址運算符(與號,&),但在分配給它時不需要?

[英]Why do we need the address-of operator (ampersand, &) when passing a variable to scanf, but not when assigning to it?

使用scanf function時,不能簡單地指定變量名。 相反,我們必須在變量名前加上一個 & 符號,例如int a; printf("enter your value"); scanf("%d", &a); int a; printf("enter your value"); ...

f(&a) 可以在 C 中運行嗎?

[英]f(&a) is possible to run in C?

下面的解釋讓我很困惑: 當參數是指向變量 x 的指針時,我們通常假設 x 將被修改:f(&x); 但是,f 可能只需要檢查 x 的值,而不是更改它。 我厭倦了理解,下面的代碼無法工作。 代碼來自第二個答案: ...

&(*x) 如何工作? 詳情如下

[英]How &(*x) works? Details below

如果指針x具有a的地址並且*x指向a的值,編譯器無法知道*x指的是完全a ,它只能知道a的值如果我通過*x 。 但事實證明它知道。 那么這是如何工作的呢? 編譯器是否也傳遞了地址,或者它只是取消*當我放& like &*x編譯時就好像它就像x或其他方式一樣? ...

在 C(也是 C++)中,'&' 運算符如何同時用作地址運算符和位運算符? 由於 C 不支持運算符重載

[英]In C (also C++), how '&' operator works as both address operator and bitwise operator ? As operator overloading is not supported by C

運算符 '&' 可以在以下兩種方式中使用int a; scanf("%d",&a); int a; scanf("%d",&a); 和printf("%d",1&2) 。 但不同的行為(第一次作為地址運算符,第二次作為按位運算符)。 我知道 C 中不存在運算符重載。 ...

to_address的具體用例

[英]Specific use case of to_address

顯然C ++ 20正在獲得std::to_address 。 從cppreference頁面來看,它的用例對我來說似乎並不清楚。 我們已經有了operator&和std::addressof ,為什么我們還需要另一個函數給我們一個地址呢? ...

&(array+1) 在 &arr 工作時給出編譯錯誤

[英]&(array+1) gives compilation error while &arr works

在下面的代碼中- (考慮到此代碼包含在帶有所有必要標題的主函數中) 如果我們只保留第一個 cout,它就會工作並打印數組的起始地址。 但是,如果我們保留第二個 cout,則會出現編譯錯誤。 為什么它會以這種方式運行? ...

操作員的地址可以初始化一個指針,但填寫的值是垃圾

[英]Address of operator can initlize a pointer but the fill-in value is garbage

指向未初始化內存的指針將導致錯誤。 遵循這樣的指針表示無效的地址。 上面的代碼導致使用未初始化的變量Error。 但是,當首先打印地址時,似乎指針是由有效地址初始化的,但填充了無效數據 輸出: 問題 : 運算符(&)的地址是否初始化指針? 如果不是,請更 ...

Golang &(*(&v)) 語義

[英]Golang &(*(&v)) semantic

我今天遇到了一個問題,能夠找到它並快速修復它,但不完全理解為什么 golang 語義是這樣的。 我正在使用 Go 1.10。 輸出 我期望不等於 &testT 所以具有與 t3 相同的語義,但相反,如果我將中間結果存儲在變量中,我看到 &(*(&)) 序列沒有相同的 ...

2D數組的C編程地址

[英]C programming address for 2d array

如果我初始化一個二維數組,可以說 是a[0] == &a[0]嗎? 我知道a[0]指向數組第一個元素的地址。 那么&a[0]仍然是地址嗎? ...

C指向數組的指針; 到原始

[英]C Pointer To Array; To Primitive

我正在使用不顯示與指針使用有關的編譯器警告的Visual Studio 2015。 如果我暫時指向一個指向數組char name[] = "My Name"的指針char* p ,則我沒有任何指導說明以下內容並不完全相同; 即產生指向數組第一個字符的指針 每個printf的結果是相同 ...

&p和p有什么區別

[英]What is the difference between &p and p

如果我有一個指向整數的指針,例如: 然后打印地址,這樣 和以前的有什么區別: ...

理解C中交換程序的指針

[英]Understanding pointers with a swap program in C

我試圖更好地理解指針和C語言中的引用,我的課程提供了以下程序作為示例。 我將以下內容混為一談,看看它是否能幫助我更好地了解正在發生的事情,主要是關於使用&與*(取消引用)的需要。 基本上,聲明指向int類型(int * a)的指針與使用星號指向“dereference”(* a = * ...

為什么地址運算符作為C ++類的默認成員出現,它是什么?

[英]Why does the address operator come as a default member of C++ class and what is it?

C ++類中有5個默認成員。 默認構造函數,析構函數,復制構造函數,賦值運算符和地址運算符。 什么是地址運算符? 是className* operator &() {}嗎? 如果是這樣,為什么編譯器默認情況下會生成此地址運算符(因為我們已經在C語言中有了一個地址運算 ...

* num為什么不顯示第零個元素值?

[英]Why won't *num show the zeroth element value?

在此代碼中: 據我所知,兩個printf語句都將打印num中第一個元素的地址,因為在第一個語句中, num是一個指向int的指針。 但是,如果num是一個指針,那么它在打印地址時也應該有任何地址(使用printf("%d", &num) ),它顯示的是第一個元素的地址。 ...

指針參數在C ++中接收地址?

[英]pointer argument receiving address in c++?

我知道指針存儲y的地址。 並調用* yPtr取消引用y。 如果我調用了void函數: 如果函數以指針作為參數,對函數的調用如何使用地址? 我知道nPtr存儲地址,但為什么不能將其定義為。 我的主要問題是:為什么接收地址參數的函數需要指針參數來接收地址? ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM