小编yog*_*ogi的帖子

将二维数组作为参数传递

我试图将一个二维数组传递给一个接受指向指针的指针的函数。而且我了解到二维数组不是指向指针的指针(指向一维数组的指针)。当我编译下面的代码时,我收到了这个错误。

#include<iostream>

void myFuntion(int **array)
{
}
int main()
{
   int array[][]= {{1,2,3,4},{5,6,7,8,9},{10,11,12,13}};
   myFuntion(array);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

在函数“int main()”中:第 5 行:错误:将“数组”声明为多维数组必须具有所有维度的边界,但由于 -Wfatal 错误而终止的第一次编译除外。

如果可能的话,任何人都可以清除我对此的疑虑和一些文档,以消除我的更多疑虑。

c++ pointers

10
推荐指数
1
解决办法
4万
查看次数

为什么sizeof(int)与sizeof(int*)不同?

我想知道为什么在下面的程序中sizeof(int)返回一个不同的值sizeof(int*).

这是一个小程序:

int main(){
    std::cout<<sizeof(int)<<endl;
    std::cout<<sizeof(int*)<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

4
8
Run Code Online (Sandbox Code Playgroud)

直到现在我记得整数指针的大小是4byte(gcc编译器).如何检查指针的正确大小?它依赖于计算机吗?

我正在运行ubuntu 12.04

# lsb_release -a

Distributor ID: Ubuntu 
Description: Ubuntu 12.04 LTS 
Release:    12.04 
Codename:   precise
Run Code Online (Sandbox Code Playgroud)

指针的大小是不是常量(标准大小)8个字节.

c c++ sizeof

6
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×2

c ×1

pointers ×1

sizeof ×1