2010-03-21 122 views
3

我有一个双指针数组,但是每次我尝试打印其中一个地址打印值。我如何打印实际值?指针的C++打印值

cout < < arr [i]? cout < < & arr [i]?他们都打印地址

有谁知道?

回答

7

如果这是真的(初始化)双指针数组,即:

double *arr[] = ... 
// Initialize individual values 

所有你需要的是:

cout << *arr[i]; 
1

COUT < < *(ARR [1])将打印值。

0

如果 “ARR” 被声明为

double* arr[..]; 

那么你可以使用:

cout << *(arr[i]) 
1

cout << *(arr[i]);

+1

不需要括号。 – Potatoswatter 2010-03-21 02:25:36

+2

@Patatoswatter。编译器可能不是,技术上也不是,因为如果必须的话,我可以记住运算符的优先级。但他们肯定会改善事情。 – 2010-03-21 13:47:12

+1

@Patatoswatter:parens不需要'5 + 112%65^1/5.5 && bar || foo^2 << 5',但是(((5 +(112%65))^(1/5.5))&& bar)|| (foo ^(2 << 5))'更加清晰 – 2010-03-22 20:20:57