c++ atoi函数的实现
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,指针赋值方式 是 赋值地址。
作者:小胖李
出处:http://www.cnblogs.com/minCS/
本文版权归作者和博客园共有,禁止转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
依旧牛逼依旧狂依旧是个小流氓