C++ 变量声明

 

刚才看到一个题目,叫你用变量a给出下面的定义,结果发现有些竟然不是很清楚- - - - - - - - - - -- -- - - - - -  - 

a) 一个整型数(An integer) 

b) 一个指向整型数的指针(A pointer to an integer) 

c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a 

pointer to an integer) 

d) 一个有10个整型数的数组(An array of 10 integers) 

e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 

pointers to integers) 

f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers) 

g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer 

to a function that takes an integer as an argument and returns an integer) 

h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返

回一个整型数( An array of ten pointers to functions that take an integer 

argument and return an integer ) 

答案是: 

a) int a; // An integer b) int *a; // A pointer to an integer 

c) int **a; // A pointer to a pointer to an integer 

d) int a[10]; // An array of 10 integers 

e) int *a[10]; // An array of 10 pointers to integers 

f) int (*a)[10]; // A pointer to an array of 10 integers 

g) int (*a)(int); // A pointer to a function a that takes an integer 

argument and returns an integer 

h) int (*a[10])(int); // An array of 10 pointers to functions that take 

an integer argument and return an integer 

pro*c变量声明的问题

05-22

文件内容rn#include "test.h"rnrnEXEC SQL BEGIN DECLARE SECTION;rntypedef int ID;rnEXEC SQL END DECLARE SECTION;rnint main(argc,argv)rnint argc ;rnchar**argv;rnrn rn EXEC SQL BEGIN DECLARE SECTION;rn ID LN_SERV_ID;rn EXEC SQL END DECLARE SECTION;rn EXEC SQL rn SELECT 1 rn INTO :LN_SERV_IDrn FROM dual;rn rn return 1; rnrnrn目前想把rnEXEC SQL BEGIN DECLARE SECTION;rntypedef int ID;rnEXEC SQL END DECLARE SECTION;rn移至test.h文件中rn但是移至后预编译提示如下rnrnPro*C/C++: Release 8.1.7.0.0 - Production on Mon May 22 14:54:03 2006rnrn(c) Copyright 2000 Oracle Corporation. All rights reserved.rnrnSystem default option values taken from: /data/oracle/oracle/product/8.1.7/precomp/admin/pcscfg.cfgrnrnSyntax error at line 9, column 2, file test.pc:rnError at line 9, column 2 in file test.pcrn ID LN_SERV_ID;rn.1rnPCC-S-02201, Encountered the symbol "ID" when expecting one of the following:rnrn auto, char, const, double, enum, extern, float, int, long,rn ulong_varchar, OCIBFileLocator OCIBlobLocator,rn OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,rn OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,rn short, signed, sql_context, sql_cursor, static, struct,rn typedef, union, unsigned, utext, uvarchar, varchar, void,rn volatile, a typedef name, a precompiled header, exec oracle,rn exec oracle begin, exec, exec sql, exec sql begin,rn exec sql end, exec sql type, exec sql var, exec sql include,rnThe symbol "enum," was substituted for "ID" to continue.rnrnError at line 0, column 0 in file test.pcrnPCC-F-02102, Fatal error while doing C preprocessingrnrn--------------rn若何修改才能正确?rnrn同时想知道为什么在红帽 linux9必须有rnEXEC SQL BEGIN DECLARE SECTION;rn ID LN_SERV_ID;rn EXEC SQL END DECLARE SECTION;rn这样的声明。rn我在hpunix下就不需要这个的,有什么配置控制吗?rn 论坛

没有更多推荐了,返回首页