c++ - 指针疯狂,我只是想不通

标签 c++ c pointers

我有一个指针问题,我不明白,希望你能帮助我。

int main()
{
    int tab[] = {1,2,3};
    int *ptr;
    ptr=tab; // this is where my doubt lies
    cout << &ptr << "," << ptr << "," << *ptr << "," << &tab << "," << tab << "," << *tab << endl;
    return(0);
}

将指针指向您不应该做的事情,例如 ptr=&something ?? 如果有人可以向我解释,我将不胜感激。 谢谢

最佳答案

只要有可能,C 数组就会退化为指针。用线

ptr=tab;

你可能会遇到类似的行为

ptr=&tab;

但类型不同:在第一种情况下,您需要一个 int 指针,在后一种情况下,您需要一个指向具有特定类型的 int 数组的指针。

关于c++ - 指针疯狂,我只是想不通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742785/

相关文章:

c++ - 传递结构和参数如何影响函数的性能

c++ - 在数组中存储整数存储随机值

c++ - c++/g++ —编译错误.. fatal error : iostream: No such file or directory compilation terminated

c++ - 检测习语与默认参数类型匹配

c - SIGPOLL(SIGIO)问题: interrupt while executing a handler

c - XINU OS - 理解 roundmb 函数

紧凑访问嵌套结构中的变量

C++:如何使数组可全局访问?

c++ - C++有自初始化指针吗

c - 如何返回 char 指针数组?我的代码有什么问题?