我對C非常陌生。我來自Java背景,我很難理解指針。我對*x = 1
是什麼的理解是把x的內存地址分配給1,其中x = 1
表示將變量x賦值爲1.C中「* x = 1」和「x = 1」之間的區別是什麼?
我是否正確?
我對C非常陌生。我來自Java背景,我很難理解指針。我對*x = 1
是什麼的理解是把x的內存地址分配給1,其中x = 1
表示將變量x賦值爲1.C中「* x = 1」和「x = 1」之間的區別是什麼?
我是否正確?
*x = 1;
表示x包含一個存儲器地址,將1指定給該存儲器地址。
x = 1;
表示將1賦值給變量x。
嗯,寫你擁有它完全反了,因爲你說爲x值1等
X = 1級表示值1存儲到變量x。
* x = 1意味着將值1存儲在內存地址x指向的地方。
X =變量
* X =指針尋址
通過說x=1
意味着你直接將值到X。 *x=1
有一些不同的方法。
說,int y = 10
和X是一個指針,它是通過定義int *x = &y
指向到y的地址。申報*x
後,通過該程序,*x
將被視爲的地址值爲y。因此,當使用*x=1
時,地址和(此前爲10)的值現在將更改爲。因此,y=1
和*x=1
在內部做同樣的事情。
你可以按照this link來更簡單的瞭解C指針。
[本教程](http://www.cplusplus.com/doc/tutorial/pointers/)可能會有用。 –
@rsahu謝謝你! – johnwj