隐式指针添加和取消引用

来源:互联网 发布:java weka knn 编辑:程序博客网 时间:2024/05/10 00:20

圆括号必须确保运算符的优先级是正确的-运算符*相比具有高优先级的操作符+

注:*(系列1)具有相同的效果作为关联数组[ 1 ]。事实证明,数组索引运算符([])实际上是一个隐式指针添加和取消引用!它只是看起来更漂亮

我们可以用一个指针和指针运算遍历数组。虽然不这样做(使用指标通常更容易阅读不易出错)下面的例子去显示它是可能的

1234567891011121314151617181920212223const int nArraySize = 7;char szName[nArraySize] = "Mollie";int nVowels = 0;for (char *pnPtr = szName; pnPtr < szName + nArraySize; pnPtr++){    switch (*pnPtr)    {        case 'A':        case 'a':        case 'E':        case 'e':        case 'I':        case 'i':        case 'O':        case 'o':        case 'U':        case 'u':            nVowels++;            break;    }} cout << szName << " has " << nVowels << " vowels" << endl;

这个程序使用一个指针遍历每个数组中的元素。每个元素被废弃的开关的表达,如果元素是一个元音,nvowels递增。for循环再用++运算符移动指针指向数组中的下一个字符。for循环终止时,所有的角色都被检查

上面的程序产生的结果

莫莉有3个元音字母


0 0
原创粉丝点击