我从数组和指针的CPP开始。
我试图打印一个浮点数组,但我已经越过了浮点数组。
一旦我到达终点,如何停止打印浮点数组?
// all about arrays and pointers
#include <iostream>
using namespace std;
int main (int argc, char * argv []) {
float inputs1 [] = { 12 };
float inputs2 [] = { 12 , 4 };
cout << "sizeof(inputs1)" << sizeof(inputs1) << endl;
cout << "sizeof(inputs2)" << sizeof(inputs2) << endl;
float *it = inputs2;
cout << *it << endl;
it++;
cout << *it << endl;
cout << endl;
cout << "sizeof(inputs1): " << sizeof(inputs1) << endl;
cout << "sizeof(inputs2): " << sizeof(inputs2) << endl;
cout << "start address: " << &inputs2 << endl;
cout << "end address: " << &inputs2[sizeof(inputs2)] << endl;
for (float *it2 = inputs2; it2!=&inputs2[sizeof(inputs2)]; it2++) {
cout << "it2 " << it2 << endl;
cout << "*it2 " << *it2 << endl;
}
}
答案 0 :(得分:4)
sizeof
返回其参数的大小,以字节为单位 - 不其中元素的数量 1 。
要获取元素数量,您必须将sizeof(inputs1)
除以sizeof(inputs1[0])
。
1 除非元素各为一个字节,例如char