1 int myatoi(char* str) 2 { 3 int ret=0; 4 int sign = 1; 5 if(*str=='-')//指针的值不是负数 *是取值的意思 &取地址的意思 6 { 7 sign=-1; 8 }else 9 { 10 ret=ret*10+(*str-'0');//通过ascii码转换 11 } 12 str++; 13 while(*str!='\0')//指针字符串结尾,不到结尾就循环每一个字符 14 { 15 16 ret=ret*10+(*str-'0'); 17 str++; 18 } 19 return sign*ret;//最后乘以正数或者负数来达到最后完整的数字转换 20 }
学到的知识 有
1,指针的星号 跟谁挨着都无所谓 代码风格罢了。
2,“\0” 的意思是字符串的结尾,适用于所有字符串类型
3,指针取值方式是 *变量名,取地址方式是 &变量名
4,想把指针的地址给另一个变量储存的话就用两个星号 例如 char ** a=str
5,指针赋值方式 是 赋值地址。