const
char *a;//必須const 因為「hello」存在常量區,為唯讀
string str="hello";//str[1]='s'; pass
a=str.c_str();//a[1]='s';fail 報錯:唯讀,指標指向常量區
char *a;
a="11";
int b=atoi(a);
cout
string str=to_string(a);//c++11 開始支援
char* a="hello";
string str=a; //直接賦值
stringstream str;
string s="123";
int i;
str>i;
cout例如:
0x12345678 存放在0x00000000,0x00000001,0x00000002,0x00000003位址單元中,則低位資料0x78儲存在0x00000000低位位址單元中
絕對值取反加一
原碼為補碼的補碼
int main()
int有4個位元組,char1個位元組,強制轉換導致資料丟失,只擷取了最低位位址單元中的資料0xf7.因為b為unsigned所以輸出8字元16進製為0x000000f7.
因為*c是有符號的0xf7,計算機中認作為-9(9為0xf7取反加一),-9用printf輸出8字元16進製為反碼,即0xfffffff7
C 型別轉化
c 型別轉化 在理解c 型別轉換前,我們先回顧c語言中型別轉換。c風格的強制型別轉化很簡單,不管什麼型別轉換統統是 type b type a。但是c風格的型別轉換有不少的缺點,有的時候用c風格的轉換是不合適的,因為它可以在任意型別之間轉換,比如你可以把乙個指向const物件的指標轉換成指向非con...
c 型別轉化
資料型別轉換 隱式轉換 int age 10 double sum age int salary 150000 decimal money salary double speed 10.4f float minspeed float speed string num 123 int n int.pa...
C 型別轉化
在 c 中,int int32.parse 和 convert.toint32 三種方法有何區別?int 關鍵字表示一種整型,是32位的,它的 net framework 型別為 system.int32。int 表示使用顯式強制轉換,是一種型別轉換。當我們從 int 型別到 long float ...