先要理解地址和資料,可以想象有很多盒子,每個盒子有對應的號碼,那個號碼叫做“地址”,而盒子裡放的東西叫做“資料”。上面就段理解了,*p和p的區別就不難解釋了。p是指標變數,用來存放地址,可以認為是上面所說的盒子的號碼,“*”是解引用運算子,可以把它理解成開啟盒子,*p就是開啟p號盒子,取出裡面的資料。簡單來說,p存放的是地址,而*p是讓程式去那個地址取出資料。
先要理解地址和資料,可以想象有很多盒子,每個盒子有對應的號碼,那個號碼叫做“地址”,而盒子裡放的東西叫做“資料”。上面就段理解了,*p和p的區別就不難解釋了。p是指標變數,用來存放地址,可以認為是上面所說的盒子的號碼,“*”是解引用運算子,可以把它理解成開啟盒子,*p就是開啟p號盒子,取出裡面的資料。簡單來說,p存放的是地址,而*p是讓程式去那個地址取出資料。
當單獨一個語句的時候沒有區別,但用在表示式中:
1、J++是先取J的值做計算,再自加;
2、++J是先自加,再取J的值做計算。
例如:
賦值J = 2;
如果
K = J++;
那麼先取J的值賦值給K,於是K值為2,J值再自加即完成此次運算後J=3。
如果
K = ++J;
那麼J先自加,得到J=3,然後再取J值計算,K值為3。
1、C語言程式碼不易跨平臺,java程式碼易於跨平臺;C語言可以直接操作記憶體,java不能直接操作;C語言可以封裝動態庫,java不起作用。
2、Unix和Java都是用C語言編寫的;C語言做單獨的功能,可以提高效率,java適合Web應用程式開發;JAVA做網路開發的時候,已經有很多成型的框架技術,C語言很少,且需要處理底層內容,對不熟悉計算機原理的開發者來說使用難度很大。
3、C語言的安全性不如Java高,C語言沒有Java垃圾收集機制,需要手動釋放應用程式的空間。Java具有良好的通用性,只要安裝了Java虛擬機器(JVM),就可以跨平臺直接移植。
資料拓展:C語言是一門面向過程、抽象化的通用程式設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低階儲存器。C語言是僅產生少量的機器語言以及不需要任何執行環境支援便能執行的高效率程式設計語言。