2015-09-16 167 views
-5

我對C非常陌生。我來自Java背景,我很難理解指針。我對*x = 1是什麼的理解是把x的內存地址分配給1,其中x = 1表示將變量x賦值爲1.C中「* x = 1」和「x = 1」之間的區別是什麼?

我是否正確?

+0

[本教程](http://www.cplusplus.com/doc/tutorial/pointers/)可能會有用。 –

+0

@rsahu謝謝你! – johnwj

回答

0
*x = 1; 

表示x包含一個存儲器地址,將1指定給該存儲器地址。

x = 1; 

表示將1賦值給變量x。

2

嗯,寫你擁有它完全反了,因爲你說爲x值1等

X = 1級表示值1存儲到變量x。

* x = 1意味着將值1存儲在內存地址x指向的地方。

0

X =變量

* X =指針尋址

0

通過說x=1意味着你直接將值到X*x=1有一些不同的方法。

說,int y = 10X是一個指針,它是通過定義int *x = &y指向到y的地址。申報*x後,通過該程序,*x將被視爲的地址值爲y。因此,當使用*x=1時,地址(此前爲10)的值現在將更改爲。因此,y=1*x=1在內部做同樣的事情。

你可以按照this link來更簡單的瞭解C指針。

相關問題