pointers 相关问题

“指向”存储在内存中的另一个值的数据类型。指针变量包含某个其他实体(变量或函数或其他实体)的内存地址。此标记应用于涉及指针使用的问题,而不是引用。使用指针的最常见编程语言是C,C ++,Go和汇编语言。使用特定语言标记。其他有用的标签是描述指针使用的方法,函数,结构等。

如何将 void 指针指向共享具有不同虚函数实现的不同对象?

我有一个指针,我想指向共享抽象基类的类的不同实例,然后在该指针上调用每个子类都有自己的实现的函数...

回答 1 投票 0

C++中如何处理指针重复删除问题

最近我陷入了一个场景,在项目中同时使用原始指针和智能指针。 我有2节课。 Canvas里面又组成了另一个类CanvasItem。它存储 CanvasItem

回答 1 投票 0

如何编写删除指针而不是宏的 C++ 函数

我在遗留代码中发现了一个删除指针的宏。我尝试用函数替换它,但它使应用程序崩溃了。我不明白为什么。我的功能有问题吗? //乐...

回答 1 投票 0

为什么使用指针(类私有字段)编辑值需要声明附加变量?

我定义了三个简单的文件: 主程序 #包括 #include“EventHandler.h” int main(int argc, char *argv[]) { 布尔 myFlag = true; 事件处理程序 事件处理程序 =

回答 1 投票 0

为什么这个函数返回的是指针而不是C语言中的指针值?

#包括 #包括 类型定义结构 { 整数*数组; 整数大小; }大批; 数组 array_create(int init_size); int* array_at(数组*,int索引); 无效数组_...

回答 2 投票 0

有人可以回答这个关于 C 指针的棘手问题吗? [重复]

这是一道C指针问题。 我们来理解一下这段代码: 'a' 是一个整型变量,保存值 5。 p是一个整型指针变量,它指向a。 我正在分配 a 的值...

回答 1 投票 0

使用指针访问多维数组元素

如何使用指针访问N维数组的元素?即我可以用什么来代替 a[i][j]...[k]? 例如,我尝试执行以下操作,但这不起作用: #包括 如何使用指针访问N维数组的元素?即我可以用什么来代替 a[i][j]...[k]? 例如,我尝试执行以下操作,但这不起作用: #include<iostream> #include<conio.h> using namespace std; int main() { const int n1 = 5, n2 = 5, n3 = 5; int array[n1][n2][n3]; for (int i = 0; i < n1; i++) for (int j = 0; j < n2; j++) for (int k = 0; k < n3; k++) array[i][j][k] = n1*n2*n3; cout << array[1][2][4]<<endl; cout << *(*array + n1 + n2 * 2 + 4); _getch(); return 0; } 引自N1256 6.5.2.1 数组下标 下标运算符[]的定义 E1[E2] 与 (*((E1)+(E2))) 相同。 由此,我可以说以下所有内容都是等效的: a[i][j][k] (*(a + i))[j][k] (*((*(a + i)) + j))[k] (*((*((*(a + i)) + j)) + k)) 注意:添加的代码是C++,而不是C。对于C++,N3337 5.2.1 下标说: 表达式 E1[E2] 与 *((E1)+(E2)) (根据定义)相同

回答 1 投票 0

LLVM API 为 ptr 类型生成无效 IR

我正在使用 LLVM 15,我正在尝试将我自己的语言(在语法方面与 Pascal 非常相似)编译为 LLVM IR,并且我正在使用 Ocaml。 当我尝试创建一个结构并将其主体设置为 ha...

回答 1 投票 0

从共享内存中获取 int

在我当前的项目中,我必须使用 100 字节的共享内存区域,再加上紧随其后的一个整数,所以,我认为大约是 108。 但是,我似乎无法隔离这个 int。 我没有太多...

回答 1 投票 0

* 如何同时声明指针和取消引用指针?

我对指针声明中的解引用运算符如何起作用感到困惑。 考虑这两种情况: 整数y=5; int *x = &y; 整数y=5; 整数*x; x = &y; 第二种情况(

回答 1 投票 0

从 `{pointer, length}` 构造 std::span 的静态范围

前言 给定一个 char *p 指针,指向给定 size_t 长度的缓冲区。调用者将保证缓冲区有效。 我想使用 void spanStatic(std::span s) 来修改 buff...

回答 1 投票 0

为什么汇编中的add指令看起来会进行隐式的sizeof()转换?

考虑以下 x86 ASM 指令: mov eax, [ebp+StrPointer] 添加 eax, 1 mov [ebp+StrPointer], eax 这里,[ebp+StrPointer]是指向某个堆分配的字符串的指针。显然...

回答 1 投票 0

C 中的 *(*(*p))) 指针是什么?

我需要使用 p3 从数据中打印 5,但我不知道它是什么。 我设法找到 printf("%d,", ((*(p3))+4));是答案,但我仍然不知道它是如何工作的。 我可以猜到 (*p3)[3][...

回答 1 投票 0

在 Zig(以及扩展 C)中,修改结构时按引用传递或按值传递是否性能更高

鉴于 3d 矢量的基本结构: pub const Vec3 = 结构 { x: f32 = 0, y: f32 = 0, z:f32 = 0, pub fn init(x: f32, y: f32, z: f32) Vec3 { 返回 Vec3{ .x = x, .y = y...

回答 1 投票 0

如何创建基本的 WordPress 管理指针?

我已经找了很长一段时间了,我找到的都是 3-4 年前的教程,解释了如何进行指针之旅。我想做的就是添加一个指针,当某些...

回答 2 投票 0

我试图从函数中获取用户输入(字符串),然后将主函数中的变量设置为他们的输入。在 C

int main(void){ int *占位符; char userID[10] = ""; 占位符= getIdentity(); 用户 ID = *占位符; } int getIdentity(){ static char userin[] = ""; printf(&quo...

回答 2 投票 0

char * argv[] 是什么意思?

我是C编程新手,遇到了一个问题。 如果声明复杂,我发现了这个 int *daytab[13]; // daytab 是一个包含 13 个 int 指针的数组 这意味着 daytab 是...的名称

回答 7 投票 0

“char *argv[]”是什么意思?

我有这个程序 #包括 int main(int argc, char *argv[]) { 整数我; 对于 (i=0; i < argc;i++) { printf("argv[%d] = %s\n", i, argv[i]); } } I am

回答 1 投票 0

C 中的指针赋值

int y = 1; 整数 k = 2; int *p1; 整数*p2; p1 = &y; p2=&k; p1 = p2; *p1 = 3; *p2 = 4; printf("%d", y); 我得到的输出为 1,有人能解释一下为什么吗?我期待着...

回答 5 投票 0

为指向字符串文字的指针分配的内存

使用指针声明的字符串数组是否会像普通字符串数组一样浪费空间? char* foo[] = { "bar", "foobar"} 与 char foo[2][7] = {"foo", "

回答 1 投票 0

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