我有一个看起来像这样的结构.
struct puzzle {
int d[16];
};
Run Code Online (Sandbox Code Playgroud)
我听说C/C++中的数组和指针是相同的,所以我认为struct会存储一个指针,而指针指向一个int数组.但是,我使用调试器进行了简单的实验,看看它是如何存储的,我发现数组直接存储在结构中.
我正在尝试通过编写一些简单的程序来学习 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)