Tag: 指针

在C中通过指针算术与下标访问数组值

我继续阅读,在C中,使用指针算术通常比数组访问下标更快。 即使是现代的(据称是最优化的)编译器,这是否也是如此? 如果是这样,当我开始从Mac上学习C到Objective-C和Cocoa时 ,情况还是如此吗? 在C和Objective-C中,数组访问的首选编码风格是什么? (由各自语言的专业人士)认为更清晰,更“正确”(缺less更好的术语)?

取消引用指针有多昂贵?

对指针执行取消引用操作有多昂贵? 我可以想象,内存传输在某种程度上与对象大小成正比,但我想知道取消引用操作部分是多么昂贵。

C:指向结构定义中的结构的指针

我怎样才能有一个指向这个结构定义中的下一个结构的指针: typedef struct A { int a; int b; A* next; } A; 这是我第一次写它,但它不起作用。

用C中的指针循环

我不明白指针在for循环中的作用。 *p在后面的循环中做了什么? char str[128] = "Some Text"; char *p; for (p = str; *p /*what does this mean?*/; p++) { // Code } 我明白了其余的,但为什么不是像p > 3或类似的东西? 为什么独自一人? 为什么这样写呢?

'((void(*)())0x1000)();`是什么意思?

这里是一个代码,目的是设置程序计数器跳转到地址0x1000 。 我知道它做了什么,但我不明白如何。 这与我缺乏C语言知识有关。 可能是你可以开导我。 这里是声明/函数(我甚至不知道它是什么:)) ((void (*)())0x1000)(); 我的事情是指向一个返回void和不接受任何参数的函数的指针。 如果我错了,请纠正我。

C ++函数指针作为参数

我尝试调用一个函数作为没有参数的函数指针,但我不能让它的工作。 void *disconnectFunc; void D::setDisconnectFunc(void (*func)){ disconnectFunc = func; } void D::disconnected(){ *disconnectFunc; connected = false; }

我怎样才能使一个函数返回一个函数?

大图:我有一个function模块和一个模块,具有这些function的程序和function。 当我结合两个函数(从函数的模块接口): double f1(double alpha, double x); double f2(double beta, double x); 在几个方面,(其中之一是添加): double OP_Addition(double (*f)(double,double) , double (*g)(double,double), double param1, double param2, double x); 以下(一块)实现没有问题: z1 = (*f)(param1, x); z2 = (*g)(param2, x); y = z1 + z2; return y; 但是当我想返回一个指向“新”函数的指针,如: void *OP_PAdd( double (*f)(double,double), double param3 ); 我无法让它正常工作,也没有做出正确的“呼叫”。 我想在其他function中使用输出“function”作为input。

什么时候应该使用智能指针上的原始指针?

看完这个答案之后 ,看起来最好尽可能地使用智能指针 ,并将“正常”/原始指针的使用量降到最低。 真的吗?

你应该在C#中使用指针(不安全的代码)?

你应该在你的C#代码中使用指针吗? 有什么好处? 是否由The Man(微软)推荐?

为什么C中不允许这个指针运算?

char arr[] = "Hello"; arr = arr + 1; // error occurs 据我所知,具有数组types的expression式被转换为指向数组的初始元素的指针types。 因此,我期望arr = arr + 1 (指向数组的第一个元素(arr)的指针变成指向数组的第二个元素的指针)。 为什么不在C中工作?