您可以对指针执行有限数量的算术运算。这些操作是:递增,递减,加法,减法,比较和赋值。
以下代码是使用gcc编译的,尽管void ptr算法不是标准的:int main(){int a = 5; void * b =(void *)&a; b ++; }
我知道对于给定的整数数组,即指向该整数数组的指针,我可以使用类似以下的方式访问整数数组:int main(){int x [4] = {0,1,2,3}; int * ptr; ptr = x; for(...
不明白为什么while(* ptr ++)为0值(字符串终止符)进入while循环
我对以下一些无关紧要的示例代码有问题:(在Visual Studio 2015上)请忽略指向文本常量,纽维尔上可能出现的警告或错误的部分...
(char *)NULL-(char *)NULL未定义行为?
((char *)NULL-(char *)NULL)是UB吗?海事组织的答案在这里并非无关紧要。有什么想法吗?实验的Godbolt链接https://godbolt.org/z/zgVGk9 PS我不是要添加......>
我正在学习C编程,并且在线浏览了本教程,该状态表明,您应该始终总是尽可能多地使用[]运算符,而不是指针算术。 https://www.cs.swarthmore ....
我目前正在尝试避免使用C语言的指针算术来编写模拟器。通常,如果在C中的指针上加1,则会改为添加指向对象的大小。但是,我是...
我尝试使用二维字符数组存储字符串,然后我想使用功能strcmp比较两个相邻的字符串。这是代码,它是成功的代码。 #include
我知道空指针不允许使用指针算术。但是想象一下我有这样的东西:class MyArray {int * arrayBegin; //指向第一个数组项的指针,对于空数组为NULL ...
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 ...
不知道数组的大小时,如何显示字符数组中的最后一个字符?数组*('\ 0'-1)可以工作吗?
我有一个非常奇怪的对齐异常,仅在某些硬件组合上才会发生。我已经实现了一个蓝牙音频接收器,该音频接收器的数据从unix文件描述符中获取。当我...
这是有效的C ++吗? int main(){int i = 0; int * pi =&i; ++ pi;我知道数组类型允许使用单尾指针,但是在这种情况下我不确定。该代码是否......>
我已经在OpenGL VBO实现中使用了以下宏:#define BUFFER_OFFSET(i)((char *)NULL +(i))// ... glNormalPointer(GL_FLOAT,32,BUFFER_OFFSET(x));您能提供一个...
我正在尝试向用户询问3个不同的字符串,如果第二个字符串是第一个字符串的一部分,它将用第三个字符串替换该部分。除此之外,我必须使用指针...
我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...
我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...
如果我有一个简单的张量类,例如struct Tensor {double XX,XY,XZ; YX,YY,YZ的双倍;双ZX,ZY,ZZ; }使用指针算术(请参见下文)对...
在该书中, “了解和用C指针” 由Richard里斯它说85页,INT矢量[5] = {1,2,3,4,5};由向量[I]所产生的代码是从由*生成(的代码不同...
由于包含一张双人床和3个int变量(4个变量在所有),如果p是一个指针,这个结构与值0x1000的一个结构的定义,并p ++有什么价值?这不是一门功课......
我试图减去数组中两个元素的两个内存地址,称为nums,我有这个:cout <<减去内存地址:<<(&nums [50]) - (&nums [0]); ......