小编use*_*258的帖子

指向存储在结构中的数组的指针在哪里?

我有一个看起来像这样的结构.

struct puzzle {
  int d[16]; 
}; 
Run Code Online (Sandbox Code Playgroud)

我听说C/C++中的数组和指针是相同的,所以我认为struct会存储一个指针,而指针指向一个int数组.但是,我使用调试器进行了简单的实验,看看它是如何存储的,我发现数组直接存储在结构中.

  1. 为什么数组指针不存储在结构中?
  2. 指针存储在哪里?

c c++ arrays pointers implicit-conversion

2
推荐指数
1
解决办法
798
查看次数

FOREACH 循环的 PostgreSQL PL/pgSQL 语法错误

我正在尝试通过编写一些简单的程序来学习 PL/pgSQL。为了了解 FOREACH 循环,我编写了以下内容:

CREATE OR REPLACE FUNCTION test(int[]) RETURNS void AS $$  
DECLARE                                                     
    window INT;                                             
BEGIN                                                       
    FOREACH window IN ARRAY $1                              
    LOOP                                                    
        EXECUTE 'SELECT $1' USING window;                   
    END LOOP;                                               
$$ LANGUAGE plpgsql;                                        

SELECT test(ARRAY [30,60]);    
Run Code Online (Sandbox Code Playgroud)

我希望该代码片段首先打印30,然后打印60。但是,我收到以下错误。

psql:loop.sql:11: ERROR:  syntax error at end of input
LINE 7:         EXECUTE 'SELECT $1' USING window;
                                                ^
psql:loop.sql:13: ERROR:  function test(integer[]) does not exist
LINE 1: SELECT test(ARRAY [30,60]);
               ^
HINT:  No function matches the given name and argument types. …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

implicit-conversion ×1

plpgsql ×1

pointers ×1

postgresql ×1