cost 203 ms
ANSI 中矩阵数组指针的警告 C GCC C90 - Warnings of Pointer to array of matrices In ANSI C GCC C90

我在 Linux 中收到奇怪的警告。在 Windows 上的 Visual Studio 中,代码编译并运行良好,但我需要使用 GCC c90 编译它,我收到这些警告: 我已经像这样初始化了矩阵: 现在我想创建一个矩阵数组: 我已经宣布了 function: 并使用它: 该代码运行良好,但我需要使 ...

指向数组和有效类型的指针 - Pointers to arrays and effective types

在 C 中指向数组的指针的情况下,我对有效类型感到困惑。通过指向数组的指针访问单个成员是否仅在该成员的内存上或在数组包含的所有内存上传递有效类型? 标准在这方面是否明确? 这是一个实际的例子: 上面的代码是否调用了未定义的行为? 我在网上搜索,发现大多数关于聚合类型和有效类型的讨论都涉及结 ...

分配的内存少于指定的数组指针大小 - Allocating less memory than the specified size of a pointer-to-array

在 C 中,如果我们只访问属于已分配内存的元素,那么将内存分配不足给数组指针是否“合法”? 或者这是否会调用未定义的行为? 如果这本身不是未定义的行为,那么访问另一个不相关的对象,其内存地址恰好落在数组未分配部分的地址空间内会导致严格别名违规吗? ...

指向数组的指针、malloc 和越界访问 - Pointer-to-array, malloc, and out-of-bounds access

给定 C 中的指向数组的指针,我们能否为额外元素(超出指定的数组大小)分配足够的内存,然后使用 [] 运算符或指针算法安全地访问这些元素? 考虑这个例子: 此代码编译良好并在 gcc 中产生正确的结果。 但是,我不确定它是否会调用未定义的行为。 谢谢! ...

int (*p)[10]=s 和 int (*o)[5]=&s 有什么区别? - What is the difference between int (*p)[10]=s and int (*o)[5]=&s?

基于约定 int (*o)[5]=&s; 是指针 o 指向具有 5 个元素的数组的正确方法。 我们也可以在这个语句中写这个 s int (*p)[10]=s; 但是为什么在 int (*o)[5]=&s 处优先使用 &s; 因为他们都给出相同的输出。 这个程序的输出是: ...

在形式参数中省略二维数组的第二维不会引发任何错误或警告 - Ommiting second dimension for 2-d array in formal argument doesn't throw any error or warning

我正在浏览这个问题的答案为什么在声明多维数组时允许省略第一维,而不是其他维度? 以及其他一些问题,我知道我们可以省略第一维,但不可避免地要指定其他维。 令我惊讶的是,以下代码执行得非常好: 但是,如果我使用指针p打印一些值,例如 它给出了一条错误消息说: 为什么 C 允许这种声明? 如果 ...

为什么声明 int (*f())[]; 不给出错误或警告? - Why does the declaration int (*f())[]; doesn't give an error or warning?

以下语句声明了一个不带参数并返回指向整数数组的指针的函数。 它返回一个指向大小为_____的整数数组的指针我们没有指定数组的大小,所以它应该给出某种警告或错误。 我问这个是因为当我们将二维数组或指向整数数组的指针传递给函数时,我们总是应该在声明形式参数中的指针时指定维度。 那么,为什么允许这个声 ...

在结构中使用字符串或指向字符串的指针 - Using strings or pointers to strings in struct

我想我错过了一些关键的东西,我找不到答案。 如果我想在结构中使用字符串,最好使用 char arrays 还是指向它们的指针? 以下代码按预期工作,但会引发警告“警告 C4047 'function': 'const char ' 在间接级别上与 'char ( )[3] 不同” 与以下结构定义一起 ...

指向 C99 之前运行时确定大小的数组的指针 - Pointer to array of runtime-determined size pre-C99

在 C99 之前,C 标准是否允许定义或转换为指向arrays 的指针,其长度在运行时确定? 我了解该标准在 C99 之前不允许变长 arrays,但是是否允许指向运行时确定大小的 arrays 的指针对我来说并不明显,因为编译器知道多少 ZCD69B4957F06CD818DZBF3D6数组。 ...

C ++获取网格中某个单元的邻居,如果检查!= NULL,则-1x抛出null异常 - C++ Getting neighbours of a cell in a grid, -1x throwing null exception when checked if != NULL

最近从C#移到C ++,所以我是指针和引用等的新手。 我有这样声明的指针到指针数组 现在,我将一个方法组合在一起,该方法返回tile数组中某个单元的邻居,并检查每个邻居是否不等于NULL。 但是,即使检查它是否为null似乎也会引发错误,所以我很困惑。 我知道为什么会引发 ...

指向2D数组的指针如何在引擎盖下工作? - How does a pointer to a 2D array work underneath the hood?

我不明白为什么应该执行矩阵乘法的这段代码会出错。 输入: 2x2矩阵,两个矩阵中都有元素1,2,3,4 预期产量: 7 10 15 22 此代码给出的输出: 15 22 12 16 我尝试使用这样的打印语句进行调试,结果如下: 当给定2x2矩阵,它们具有1,2,3 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM