在linux下的gcc測試當型別中有多個*時,
最多兩個const不會出現警告並且必須格式type *const*const p=&a;
警告 const type**p; typeconst**const p=&a;const type **cosnt p=&a;type *const*const*const*const*const..p;
且由後面兩個警告得typeconst**const p=&a;和const type **cosnt p=&a;等效。
只要不出錯,警告出來的一般可以執行(但是是破壞性的)。
推測type const*const*const*const*const*const p=&a;由const依次得到對應型別
type、type*、type**、type***、type****、type*****,顯然對應的這些被限定為不可賦值.當然一些const可能不會有。
因此我覺得typeconst*const p=&a;寫成這樣會好理解。
--------------------------以下全部在linux下,使用的是gcc
正確(兩個**兩個const)
//編譯 gcc const.c
//執行 ./a.out
#include#includetypedef int type;
int main()
[ pcdtest]$ ./a.out
memory**:0x7fffa4714d90 memory*:0x7fffa4714d98 data:321
memory**:0x7fffa4714d90 memory*:0x7fffa4714d9c data:453
memory**:0x7fffa4714d90 memory*:0x7fffa4714d9c data:321
正確(三個星兩個const)
//編譯 gcc const.c
//執行 ./a.out
#include#includetypedef int type;
int main()
**********************************以下兩個警告,可以看到type const**const p=&a2;和const type**const p=&a2;等效均會造成警告。
const_.c: in function 『main』:
const_.c:12: 警告:從不相容的指標型別初始化
[ pcdtest]$ ./a.out
memory**:0x7fff0097c300 memory*:0x7fff0097c308 data:321
memory**:0x7fff0097c300 memory*:0x7fff0097c30c data:453
memory**:0x7fff0097c300 memory*:0x7fff0097c308 data:321
//編譯 gcc const.c
//執行 ./a.out
#include#includetypedef int type;
int main()
//編譯 gcc const.c
//執行 ./a.out
#include#includetypedef int type;
int main()
最後給個字串的
警告:const_.c: in function 『main』:
const_.c:10: 警告:初始化丟棄了指標目標型別的限定
//編譯 gcc const.c
//執行 ./a.out
#include#includetypedef char* type;
int main()
列印結果:
memory:0x7fff719439d0 data:_before_me
memory:0x7fff719439c8 data:me
memory:0x7fff719439c0 data:afterme
memory:0x7fff719439d0 data:_before_me
memory:0x7fff719439c8 data:hello_word
memory:0x7fff719439c0 data:afterme
memory:0x7fff719439c8 data:hello_word
linux下安裝兩個或多個tomcat
加入以下 tomcat路徑要配置自己實際的tomcat安裝目錄 first tomcat catalina base usr local tomcat catalina home usr local tomcat tomcat home usr local tomcat export catalin...
linux系統下安裝兩個或多個tomcat
編輯環境變數 vi etc profile 加入以下 tomcat路徑要配置自己實際的tomcat安裝目錄 first tomcat catalina base usr local tomcat catalina home usr local tomcat tomcat home usr local...
linux系統下安裝兩個或多個tomcat
第乙個tomcat不動 來到第二個tomcat的conf目錄下 開啟server.xml更改埠 修改server.xml配置和第乙個不同的啟動 關閉監聽埠。把上面的這幾個埠改了,不要與第乙個衝突就ok port 8005 shutdown shutdown 8005 9005 port 80 800...