pointer-arithmetic 相关问题

您可以对指针执行有限数量的算术运算。这些操作是:递增,递减,加法,减法,比较和赋值。

为什么在gcc中允许使用空指针算法?

以下代码是使用gcc编译的,尽管void ptr算法不是标准的:int main(){int a = 5; void * b =(void *)&a; b ++; }

回答 2 投票 2

使用指针符号打印字符数组

我知道对于给定的整数数组,即指向该整数数组的指针,我可以使用类似以下的方式访问整数数组:int main(){int x [4] = {0,1,2,3}; int * ptr; ptr = x; for(...

回答 1 投票 0

不明白为什么while(* ptr ++)为0值(字符串终止符)进入while循环

我对以下一些无关紧要的示例代码有问题:(在Visual Studio 2015上)请忽略指向文本常量,纽维尔上可能出现的警告或错误的部分...

回答 1 投票 0

(char *)NULL-(char *)NULL未定义行为?

((char *)NULL-(char *)NULL)是UB吗?海事组织的答案在这里并非无关紧要。有什么想法吗?实验的Godbolt链接https://godbolt.org/z/zgVGk9 PS我不是要添加......>

回答 2 投票 4

为什么不建议在C语言中使用指针进行数组访问

我正在学习C编程,并且在线浏览了本教程,该状态表明,您应该始终总是尽可能多地使用[]运算符,而不是指针算术。 https://www.cs.swarthmore ....

回答 2 投票 1

如何确定我是否使用了过度括号?

我目前正在尝试避免使用C语言的指针算术来编写模拟器。通常,如果在C中的指针上加1,则会改为添加指向对象的大小。但是,我是...

回答 2 投票 1

a + i和a [i]之间有什么区别

我尝试使用二维字符数组存储字符串,然后我想使用功能strcmp比较两个相邻的字符串。这是代码,它是成功的代码。 #include

回答 1 投票 1

是否允许将零添加到空指针?

我知道空指针不允许使用指针算术。但是想象一下我有这样的东西:class MyArray {int * arrayBegin; //指向第一个数组项的指针,对于空数组为NULL ...

回答 1 投票 2

已知大小的未指定类型的指针算术

void * ptr = NULL; //未指定的13字节类型的数组,用于(int i = 0; i <10; i ++){printf(“%i”,((char(*)[13])ptr)+ i); } putchar('\ n');输出:0 13 26 39 52 65 78 91 104 117 So ...

回答 4 投票 -5

在c ++中使用指针算法

不知道数组的大小时,如何显示字符数组中的最后一个字符?数组*('\ 0'-1)可以工作吗?

回答 1 投票 0

C ++指针算法:对齐异常(0x801)

我有一个非常奇怪的对齐异常,仅在某些硬件组合上才会发生。我已经实现了一个蓝牙音频接收器,该音频接收器的数据从unix文件描述符中获取。当我...

回答 1 投票 0

非数组对象类型的单尾指针可以吗?

这是有效的C ++吗? int main(){int i = 0; int * pi =&i; ++ pi;我知道数组类型允许使用单尾指针,但是在这种情况下我不确定。该代码是否......>

回答 1 投票 5

NULL + int的结果是什么?

我已经在OpenGL VBO实现中使用了以下宏:#define BUFFER_OFFSET(i)((char *)NULL +(i))// ... glNormalPointer(GL_FLOAT,32,BUFFER_OFFSET(x));您能提供一个...

回答 4 投票 19

使用指针算法将数组的元素更改为用户输入

我正在尝试向用户询问3个不同的字符串,如果第二个字符串是第一个字符串的一部分,它将用第三个字符串替换该部分。除此之外,我必须使用指针...

回答 1 投票 0

减去或向大数组添加常数

我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...

回答 4 投票 3

减去常数或将常数添加到大数组c ++

我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...

回答 2 投票 1

通过指针算法访问结构数据成员

如果我有一个简单的张量类,例如struct Tensor {double XX,XY,XZ; YX,YY,YZ的双倍;双ZX,ZY,ZZ; }使用指针算术(请参见下文)对...

回答 2 投票 1

数组语法VS指针的语法和代码生成?

在该书中, “了解和用C指针” 由Richard里斯它说85页,INT矢量[5] = {1,2,3,4,5};由向量[I]所产生的代码是从由*生成(的代码不同...

回答 8 投票 54

指针运算的结构

由于包含一张双人床和3个int变量(4个变量在所有),如果p是一个指针,这个结构与值0x1000的一个结构的定义,并p ++有什么价值?这不是一门功课......

回答 5 投票 13

减去数组中的内存地址,但它给出了实际的数字

我试图减去数组中两个元素的两个内存地址,称为nums,我有这个:cout <<减去内存地址:<<(&nums [50]) - (&nums [0]); ......

回答 2 投票 -1

© www.soinside.com 2019 - 2024. All rights reserved.