浏览 1448 次
锁定老帖子 主题:C++学习笔记——指针和数组的运算
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-14
今天贴个程序,这个程序反映了指针运算的实质,同时也反映了数组在C++编译的时候将数组名解释为地址 #include <iostream> int main() { using namespace std; double wages[3] = {10000.0, 20000.0, 30000.0}; short stacks[3] = {3, 2, 1}; // Here are two ways to get the address of an array double * pw = wages; // name of an array = address short * ps = &stacks[0]; // or use address operator // with array element cout << "pw = " << pw << ", *pw = " << *pw << endl; pw = pw + 1; cout << "add 1 to the pw pointer:\n"; cout << "pw = " << pw << ", *pw = " << *pw << "\n\n"; cout << "ps = " << ps << ", *ps = " << *ps << endl; ps = ps + 1; cout << "add 1 to the ps pointer:\n"; cout << "ps = " << ps << ", *ps = " << *ps << "\n\n"; cout << "access two elements with array notation\n"; cout << "stacks[0] = " << stacks[0] << ", stacks[1] = " << stacks[1] << endl; cout << "access two elements with pointer notation\n"; cout << "*stacks = " << *stacks << ", *(stacks + 1) = " << *(stacks + 1) << endl; cout << sizeof(wages) << " = size of wages array\n"; cout << sizeof(pw) << " = size of pw pointer\n"; return 0; } 请大家想想结果。呵呵! 希望大家能答对哦,貌似今年有个公司的笔试题目。很基础! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |