以äžã®ãã㪠program ãäœæã
#include <stdio.h>
typedef struct tTest {
int iDummy ;
} tTest ;
tTest *ptMode1 ;
main ()
{
ptMode1->iDummy = 15 ;
}
以äžã®ããã«ã³ã³ãã€ã«ããŠã
$ gcc test5.c
å®è¡ãããšã
$ ./a.out
ã»ã°ã¡ã³ããŒã·ã§ã³éåã§ã
ãšè¡šç€ºãããŠããŸããŸãã ç¹ã«å€ãªãšããã¯ãªããšæãã®ã§ããã
ã©ããééã£ãŠããŸãã§ãããã?
ç°å¢ : Vine 3.1 + gcc-3.3.2
以äžããããããé¡ãããŸãã
--
K.Moriyama
On Tue, 22 Feb 2005 23:36:33 +0900, K.Moriyama <for...@ma.kcom.ne.jp>
wrote:
> 森山ãšç³ããŸãã
> 以äžã®ãã㪠program ãäœæã
>
> #include <stdio.h>
>
> typedef struct tTest {
> int iDummy ;
> } tTest ;
>
> tTest *ptMode1 ;
>
> main ()
> {
> ptMode1->iDummy = 15 ;
> }
倿°ptMode1ãåæåãããŠããŸããã
åãããã«ããããã«ã¯ïŒ
typedef struct tTest {
int iDummy ;
} tTest ;
tTest *ptMode1 ;
int main (int srgc, char* argv[])
{
tTest Mode1;/* define tTest type local object Mode1 */
ptMode1 = &Mode1;/* get address of Mode1 */
ptMode1->iDummy = 15 ;
return(0);
}
ãããã¯ïŒ
#include <stdlib.h>
typedef struct tTest {
int iDummy ;
} tTest ;
tTest *ptMode1 ;
int main (int srgc, char* argv[])
{
ptMode1 = (tTest*)malloc(sizeof(tTest));
/* allocate memory to tTest type object */
ptMode1->iDummy = 15 ;
return(0);
}
ãšããŠã¡ãããšæ§é äœãçšæããŠããããžã®ãã€ã³ã¿ã§
ãã€ã³ã¿å倿°ãåæåããŠãã䜿ããªããã°ãããŸããã
åæåããŠããªã倿°ãã¡ã¢ãªã®ã©ããæããŠãããã¯ä¿èšŒãããŸããã
ã¡ãªã¿ã«æåã®æ¹æ³ã¯ããŸã䜿ããŸããã
颿°ãçµäºãããšããŒã«ã«å€æ°ã«å²ãåœãŠãããé åã¯ãªããªã£ãŠããŸãã®ã§ã
ãã®äŸã§ã¯main颿°å
ãªã®ã§ããŸãåé¡ã¯ãªããšæããŸããã
ããšmain颿°ã®åŒæ°ãšè¿ãå€ã®åã¯ã¡ãããšå®£èšããŸãããã
--
http://www.nerimadors.or.jp/~kando/
ka...@nerimadors.or.jp
kando_t...@hotmail.com : MSN Messenger
In article <opsmltdb...@news.media.kyoto-u.ac.jp>, ç¥æžéè¡<ka...@nerimadors.or.jp> writes
> > typedef struct tTest {
> > int iDummy ;
> > } tTest ;
> > tTest *ptMode1 ;
åæåã§ã§è§£æ±ºãããªãã
tTest tTest0;
tTest *ptMode1 = &tTest0;
ã§ãããã1 line ã§
tTest tTest0,*ptMode1 = &tTest0;
ã§ãããã®ãã
> ptMode1 = (tTest*)malloc(sizeof(tTest));
> /* allocate memory to tTest type object */
ãŸãããã¡ããããããæ£åœãªããã ãã©ã
以äžã¯ãã©ãã§ãããæ¯èšã§ãã
代ããã®ã·ã³ã¿ãã¯ã¹ãšããŠã
tTest& *ptMode1;
(ãããããã)
C++ ã£ãœãã
ptMode1 = tTest();
new ã§ããããã
ptMode1 = tTest->new;
GCC ã®æ¡åŒµã£ãœãã
ptMode1 = typed_malloc(tTest);
(typeof (ptMode1)) p = ptMode1 ;
ãšãã§ããããããšãïœ
---
Shinji KONO @ Information Engineering, University of the Ryukyus
æ²³éçæ²» @ çç倧åŠå·¥åŠéšæ
å ±å·¥åŠç§
ç¥æžãããæ²³éãããããããšãããããŸãã
ãã€ã³ã¿åã§å®£èšããåŸã«ãé åã®ç¢ºä¿ãè¡ãã®ã§ããã
# ããæã£ãŠãå
¥éæžãèªããš[ å®è¡æã«ãmalloc 颿°ã䜿çšããŠ
# èšæ¶é åã確ä¿...]ãšããã£ãšèšèŒãããŠããŸãããããŒããäŸæ
# ãããæ²èŒããŠã»ããã£ã...ãããäŸæãããªïœå·»æ«ã«...
On Wed, 23 Feb 2005 00:01:49 +0900
ç¥æžéè¡ <ka...@nerimadors.or.jp> wrote:
> tTest Mode1;/* define tTest type local object Mode1 */
> ptMode1 = &Mode1;/* get address of Mode1 */
> ãããã¯ïŒ
> ptMode1 = (tTest*)malloc(sizeof(tTest));
On Tue, 22 Feb 2005 15:43:46 +0000 (UTC)
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> åæåã§ã§è§£æ±ºãããªãã
>
> tTest tTest0;
> tTest *ptMode1 = &tTest0;
>
> ã§ãããã1 line ã§
>
> tTest tTest0,*ptMode1 = &tTest0;
> 代ããã®ã·ã³ã¿ãã¯ã¹ãšããŠã
> tTest& *ptMode1;
> (ãããããã)
> C++ ã£ãœãã
> ptMode1 = tTest();
> new ã§ããããã
> ptMode1 = tTest->new;
> GCC ã®æ¡åŒµã£ãœãã
> ptMode1 = typed_malloc(tTest);
> (typeof (ptMode1)) p = ptMode1 ;
åãè²ã ãªæ¹æ³ã®ãæç€ºããããšãããããŸãã
ã§ãæããŠããã£ãå 容ãå ã«ã以äžã®ãã㪠program ãäœæããŸããã
# å
ã
ã以äžã® program äœæãç®çã§ãå
ã® program ã¯ãšã©ãŒãš
# ãªã£ãããšããããšã©ãŒã®åãåãããã«äœæãããã®ã§ãã
#
# å
容ã¯ããŠãŒã¶ã宣èšããæ§é äœåãã€ã³ã¿ã«äœããŠãå¥ã«èšå®ããŠãã
# æ§é äœåãã€ã³ã¿ã®ã¢ãã¬ã¹ãèšå®ãããšãããã®ã§ãã
#include <stdio.h>
typedef struct tSample {
int iDummy ;
int iDummy2 ;
} tSample ;
tSample gSystemArea , *pgSystem = &gSystemArea ;
int biSetPointer ( int *piTemp )
{
*piTemp = (int)pgSystem ;
return ( 1 ) ;
}
int main ( int srgc, char* argv[] )
{
tSample *pgUser ;
int biDone ;
pgUser = (tSample*)malloc(sizeof(tSample)) ;
pgUser->iDummy = 15 ;
pgSystem->iDummy = 30 ;
printf("pgUser->iDummy = %d\n" , pgUser->iDummy ) ;
printf("pgSystem->iDummy = %d\n" , pgSystem->iDummy ) ;
biDone = biSetPointer ( &pgUser ) ;
printf("pgUser->iDummy = %d\n" , pgUser->iDummy ) ;
printf("pgSystem->iDummy = %d\n" , pgSystem->iDummy ) ;
return(0) ;
}
ãããã³ã³ãã€ã«ãããšã
$ gcc dummy3.c
dummy3.c: 颿° `main' å
:
dummy3.c:34: èŠå: äºææ§ã®ãªããã€ã³ã¿åããã®åŒæ° 1 åã® `biSetPointer' ãæž¡ããŸãã§ã
ãšã衚瀺ãããŸããäžå¿ã³ã³ãã€ã«ã¯åºæ¥ãã®ã§ãããããŸãæ°æã®ãã
ãã®ã§ã¯æããŸããã
æ¬æ¥ã¯ä»¥äžã®éšåãã
biDone = biSetPointer ( &pgUser );
以äžã®ããã«ãã¹ããªã®ã§ããããã
biDone = biSetPointer ( (int * )&pgUser );
ãã®éšåã¯ã倿Žããã«( &pgUser )ã®ãŸãŸã§ã颿°åŽã§
察åŠããæ¹æ³ã¯ãªããã®ã§ãããã? ãåãã®æ¹ãããŸããã
ãææé¡ããŸãã
--
K.Moriyama
> $ gcc dummy3.c
> dummy3.c: 颿° `main' å
:
> dummy3.c:34: èŠå: äºææ§ã®ãªããã€ã³ã¿åããã®åŒæ° 1 åã® `biSetPointer' ãæž¡ããŸãã§ã
ã³ã¡ã³ãçãçããŠããã®ã§ãè¡æ°ã¯å®éãšç°ãªã£ãŠããŸãã
ã¡ãªã¿ã«è±èªã§ã¯ã以äžã®ããã«ãªã£ãŠããŸãã
dummy3.c: In function `main':
dummy3.c:34: warning: passing arg 1 of `biSetPointer' from incompatible pointer type
以äžããããããé¡ãããŸãã
--
K.Moriyama
ãã€ã³ã¿ã®ãã£ã¹ãïŒå倿ïŒã«ã€ããŠèª€è§£ãããããã§ãã
typedef Struct tHoge {
int i;
} Hoge;
ã«ã€ããŠ
Hoge* pHoge
ãš
int* pI
ã®éã®ãã£ã¹ã
(Hoge*)pI
ãš
(int*)pHoge
ã¯ã©ã¡ããããããããŸãšãã«åæåãããŠãããšããŠã
äžè¬ã«ãŸãšããªçµæã«ãªããŸããã
pIã
pHogeã§æãããŠããHogeåãªããžã§ã¯ãã®iãšããã¡ã³ã
ãæãããã«ããããã°ã
pI = &(pHoge->i)
ãããã¯
pI = &((*(pHoge)).i)
ãšããå¿
èŠããããŸãã
泚æïŒ
pHogeãmalloc()ã§è¿ããããã€ã³ã¿å€ã§ããå ŽåãpHogeãfree()ã§éæŸããåŸã¯
äžèšã®ãããªæ¹æ³ã§åæåããpIã®æããŠããé åãäœãæããŠãããã¯ç¥ã®å³åæ±âŠã
颿°åŽã§äºã
ãšèšãããïŒãããã biSetPointer ã§äœããããã®ããããå°ãæç¢ºã«ããª
ããšç確ãªã¢ããã€ã¹ã¯åŸãããªãã®ã§ã¯ãšæããŸããã
ç§èªèº«ã»ãšãã©åçŽè
ã¬ãã«ã§ã¯ãããŸããïŒç§ã«ã¯biSetPointerã®æå³ãçè§£ã§ããŸã
ãã
èŠåãæ¶ãã ããªãpgUserã¯ããšããšãã€ã³ã¿ãªã®ã§ïŒ&ãªããã€ãããšã
biDone = biSetPointer ( (int * )pgUser );
ãšããæ¹ãèªç¶ãªãããªæ°ãããŸããïŒããããšããŠããããšãããåãããªãã®ã§ïŒã§
ãã
--
******************************
keizi kounoike
******************************
On Thu, 24 Feb 2005 16:53:16 +0900
<koun...@mbh.nifty.com> wrote:
> 颿°åŽã§äºã
ãšèšãããïŒãããã biSetPointer ã§äœããããã®ããããå°ãæç¢ºã«ããª
> ããšç確ãªã¢ããã€ã¹ã¯åŸãããªãã®ã§ã¯ãšæããŸããã
>
> ç§èªèº«ã»ãšãã©åçŽè
ã¬ãã«ã§ã¯ãããŸããïŒç§ã«ã¯biSetPointerã®æå³ãçè§£ã§ããŸã
> ãã
確ãã«ãã£ãããéãã§ããã
å
ã
ã¯ãè£
眮ã®å¶åŸ¡çšã«ã¡ãŒã«ãæäŸããŠããã©ã€ãã©ãªã«
åãçºããŠããŸãã
説æã§ã¯ãããããã以äžã®æ§é äœãå®çŸ©ããŠæãã®ã§ã
static struct tGroupName {
int iDummy ;
int iDummy2 ;
} ; < ããã«ååãç¡ãã®ã¯å€ãªã®ã§ããã
ã¡ãŒã«èª¬æã§ã¯ãäœãèšèŒãããŠ
ããŸããã
ãŠãŒã¶ã§ã以äžã®ããã«å®£èšãã
static struct tGroupName *pgUser ;
以äžã®ããã«é¢æ°ã䜿çšããäºã«ããã
functionName ( &pgUser ) ;
以äžã®ããã«å€ãåŸãäºãåºæ¥ãã
iUserVar = pgUser->iDummy ;
ãšãã説æã«ãªã£ãŠããã®ã§ãã
# ã¡ãŒã«ã®èª¬æã§ã¯ããŠãŒã¶ãå®çŸ©ããæ§é äœåãã€ã³ã¿å€æ°ã®
# é å確ä¿ã«ã€ããŠã¯èª¬æãç¡ãããµã³ãã«ããã°ã©ã ã§ãé å確ä¿ã®
# èšè¿°ã¯æããŸãããåããœãŒã¹ã¯å
¬éãããŠããŸããã
# å°ãäžèšã§äœ¿çšããŠãã倿°åçã¯ãå®éã®åç§°ãšã¯ç°ãªããŸãã
ã§ãäžèšã©ã€ãã©ãªã®åäœã調ã¹ããšã颿°ã䜿çšããæã«ãŠãŒã¶ã
å®çŸ©ãã倿°ã«å€ãè¿ãã®ã§ã¯ãªããŠãããããã確ä¿ããŠããé åã®
ãã€ã³ã¿ãè¿ããããªåäœã«ãªã£ãŠããã®ã§ãã
ããã§ã颿°åŽã§ã©ãããåŠçãããŠããã®ããšãèå³ãæã£ã
次第ãªã®ã§ãã
# ã¡ãªã¿ã«ã³ã³ãã€ã©èªäœãã¡ãŒã«æäŸã®ãã®ã§ãNECã®PC-9801çš
# MS-DOSã§äœ¿çšããç©ã§ãã
--
K.Moriyama
> ãŠãŒã¶ã§ã以äžã®ããã«å®£èšãã
> static struct tGroupName *pgUser ;
> 以äžã®ããã«é¢æ°ã䜿çšããäºã«ããã
> functionName ( &pgUser ) ;
> 以äžã®ããã«å€ãåŸãäºãåºæ¥ãã
> iUserVar = pgUser->iDummy ;
> ãšãã説æã«ãªã£ãŠããã®ã§ãã
ããããããšã§ããã°ãåã«
int biSetPointer (tSample **piTemp)
{
*piTemp = pgSystem;
return 1;
}
ãšããæãã§ãããã§ã¯ãªãããšã
äœè«ã§ã¯ãããŸãããããã¯ãã£ã¹ããå¿
èŠã«ãªãå Žé¢ã§ã¯ãªãã§ãããã
ãã£ã¹ããå¿
èŠã«ãªããããªã³ãŒãã¯ãããŠãã©ããçããããšç§ã¯æã£ãŠãŸãã
# 絶察ãã¡ãšãèšãã»ã©çŸå®ãç¥ããªãããã§ããªãã§ããã
----
URI http://saito.s4.xrea.com/
e-mail sa...@s4.xrea.com
In article <20050224225102....@ma.kcom.ne.jp>, "K.Moriyama" <for...@ma.kcom.ne.jp> writes
> 説æã§ã¯ãããããã以äžã®æ§é äœãå®çŸ©ããŠæãã®ã§ã
>
> static struct tGroupName {
> int iDummy ;
> int iDummy2 ;
> } ; < ããã«ååãç¡ãã®ã¯å€ãªã®ã§ããã
> ã¡ãŒã«èª¬æã§ã¯ãäœãèšèŒãããŠ
> ããŸããã
æ§é äœã®å®£èšãªã®ã§ãç¹ã«å€ã§ã¯ãªãã§ããã§ãããã®static
ã¯ç¡æå³ã ãšæãã
% gcc -Wall -c /tmp/aho1.c
/tmp/aho1.c:5: warning: useless keyword or type name in empty declaration
ãšã³ã³ãã€ã©ãèšã£ãŠãŸãã
> ãŠãŒã¶ã§ã以äžã®ããã«å®£èšãã
> static struct tGroupName *pgUser ;
ããã¯çè§£ã§ããŸãã
> 以äžã®ããã«é¢æ°ã䜿çšããäºã«ããã
> functionName ( &pgUser ) ;
> 以äžã®ããã«å€ãåŸãäºãåºæ¥ãã
> iUserVar = pgUser->iDummy ;
> ãšãã説æã«ãªã£ãŠããã®ã§ãã
ãªããžãã
> ã§ãäžèšã©ã€ãã©ãªã®åäœã調ã¹ããšã颿°ã䜿çšããæã«ãŠãŒã¶ã
> å®çŸ©ãã倿°ã«å€ãè¿ãã®ã§ã¯ãªããŠãããããã確ä¿ããŠããé åã®
> ãã€ã³ã¿ãè¿ããããªåäœã«ãªã£ãŠããã®ã§ãã
> ããã§ã颿°åŽã§ã©ãããåŠçãããŠããã®ããšãèå³ãæã£ã
> 次第ãªã®ã§ãã
> # ã¡ãªã¿ã«ã³ã³ãã€ã©èªäœãã¡ãŒã«æäŸã®ãã®ã§ãNECã®PC-9801çš
> # MS-DOSã§äœ¿çšããç©ã§ãã
malloc ããŠè¿ããªã free ããã£ãŠæžããŠãããšæãã®ã§ããã£ãš
static ãªé åããããŠãããã ãããªãæã®Unixã«ãããããªAPI
ãã£ããããª....
static struct tGroupName sUser ;
void functionName ( struct tGroupName **pgUser )
{
*pgUser = &sUser;
}
ãšãããããã¯ãfree ããã«ãŒãã³ã䜿ã£ãŠã
void openGroupName ( struct tGroupName **pgUser )
{
*pgUser = (struct tGroupName *)malloc(sizeof(struct tGroupName *)) ;
}
void closeGroupName ( struct tGroupName **pgUser )
{
free(*pgUser);
}
ã¿ãããªã** ãçè§£ã§ãããã©ãããåé¡ã§ããã©...
åã¯ãstruct ã¯ãtypedef ãšå¿ ã䜵çšããã£ãŠæããŠãŸãã
typedef struct tGroupName {
int iDummy ;
int iDummy2 ;
} TGROUPNAME, *TGROUPNAME_PTR;
ãšããŠããã°ã
static TGROUPNAME sUser ;
void functionName ( TGROUPNAME_PTR *pgUser )
{
*pgUser = &sUser;
}
ã£ãŠãªæãã** 䜿ããªã人ã«ã¯äŸ¿å©?
In article <opsmnlzh...@news.media.kyoto-u.ac.jp>, ç¥æžéè¡<ka...@nerimadors.or.jp> writes
> Hoge* pHoge
> ãš
> int* pI
> ã®éã®ãã£ã¹ã
> (Hoge*)pI
> ãš
> (int*)pHoge
> ã¯ã©ã¡ããããããããŸãšãã«åæåãããŠãããšããŠã
> äžè¬ã«ãŸãšããªçµæã«ãªããŸããã
ããã¯ãæãéããããªã? (void*)ã«ãã£ã¹ãããã£ãŠã®ã¯ãå²
ããšããããã ãã
ãããããããHoge ã®æåã®int member ã«ã¢ã¯ã»ã¹ããã®ã«ãpI
ã«ãã£ã¹ãããŠãããŸããããšã¯éããªãã£ãŠããšããããããã¢
ãŒããã¯ãã£ã£ãŠããã®ããª?
ãªã«ãä¿èšŒãããŠããªããšããæå³ã§ã¯
ããŸãšããªçµæããšã¯èšãé£ãã®ã§ã¯ïŒ
ããªããã£ããªåãžã®ãã€ã³ã¿ãªããŸã ããã
æ§é äœã§ã¯ããã£ã³ã°ã®åœ±é¿ããããŸãã
å®éçã«ã¯äŸã®ãããªç¶æ³ã§ããã£ã³ã°ããã³ã³ãã€ã©ã¯
ãã£ãã«ãªããšã¯æããŸããèŠæ Œã§ã¯èŠå®ãããŠããŸããã
æ³å®ãããŠããã¢ã©ã€ã³å¢çã§ããã¡ã¢ãªã¢ã¯ã»ã¹ãèš±ããªã
ã¢ãŒããã¯ãã£ã§ã¯èŽåœçãªåé¡ã«ã€ãªããå¯èœæ§ãããããã§ãã
----
éœè€ïŒ çæ¶¯äžè¶£å³ãã
ãŸããããšã®è©±ãšã¯ãããŠãããã§ãã©ãã§ããããã§ãã...
In article <4HmTd.8$mh...@news1.dion.ne.jp>, éœè€ æŠå¿<sa...@s4.xrea.com> writes
> ããªããã£ããªåãžã®ãã€ã³ã¿ãªããŸã ããã
> æ§é äœã§ã¯ããã£ã³ã°ã®åœ±é¿ããããŸãã
å é ãšçµãã§ã¯ãããã¯ãªãã¯ãã§ãã
> ãã£ãã«ãªããšã¯æããŸããèŠæ Œã§ã¯èŠå®ãããŠããŸããã
ããã£ãŠã
struct packet {
int length;
int data[1];
}
ãšãã£ãŠèŠæ Œçã«ã©ããªã®ã¿ãããªè©±ã§åã«åºãŠãããããªæ°ãããŸãã
確ãã«æ±ºãŸã£ãŠãªããšããã話ã ã£ãã
æ§é äœãbinary formatã«å¯Ÿå¿ããããšãã¯çµæ§ãããŸããããç¹
ã«ãç°ãªãã¢ãŒããã¯ãã£éã§å®ã¡ã¢ãªã§éä¿¡ãããããªå Žåã
Virtual Machine ã¿ãããªæãããªãã³ã³ãã€ã©ã»ãã£ã¬ã¯ãã£ã
ã§éããã£ãŠããæããããã ãã©ãpacked struct ãšã欲ããæ°
ãããŸãããªãã COBOL ã¿ããã ã...
> æ³å®ãããŠããã¢ã©ã€ã³å¢çã§ããã¡ã¢ãªã¢ã¯ã»ã¹ãèš±ããªã
> ã¢ãŒããã¯ãã£ã§ã¯èŽåœçãªåé¡ã«ã€ãªããå¯èœæ§ãããããã§ãã
PS2 (Linux)ããããããã¢ãŒããã¯ãã£ã ã£ããããŸãããªãã
ãã©ããããcastããŸãããªã©ã€ãã©ãªãã€ããŠããããããã§ãã
ãããæ¥œããã£ãŠãããããªãã§ãã
> > æ³å®ãããŠããã¢ã©ã€ã³å¢çã§ããã¡ã¢ãªã¢ã¯ã»ã¹ãèš±ããªã
> > ã¢ãŒããã¯ãã£ã§ã¯èŽåœçãªåé¡ã«ã€ãªããå¯èœæ§ãããããã§ãã
>
> PS2 (Linux)ããããããã¢ãŒããã¯ãã£ã ã£ããããŸãããªãã
> ãã©ããããcastããŸãããªã©ã€ãã©ãªãã€ããŠããããããã§ãã
> ãããæ¥œããã£ãŠãããããªãã§ãã
PS2ã«ãããããç¡å°68000ãPowerPCãSPARCããããã¢ãŒããã¯ãã£ãšããŠã¯
åæ§ã§ããã
ãµã³ãã«ã³ãŒã
#include<stdio.h>
union hoge
{
char c[5];
long L;
} a = {1,2,3,4,5};
int main()
{
printf("%8lX\n",*(long*)&a.c[1]);
}
Mac ã SPARC ã§ã¯ Segmentation fault ã«ãªããŸãã
x86 ã¯é»ã£ãŠ 05040302 ãšããçµæãåºããŸãã
========================================================================
é£¯å¶ æµ©å
/ ã§ããããã»ããã㟠http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp
x86ã§ã8088以å€ãªãããã¡ãã£ãšé»ã£ãŠãçµæãåºããŠããããã§ããã
äžå¿ããã«ãã£ããããŸããã§ã
--
___ ããã¯ãå±±å¹è²ã®ãããŠãŒãã倧奜ãã§ã®ã
[[o o]] ãµãã£ãµãã£ãµã
'J' æ£®äž ã代宿§ ïŒïœïŒ®ïŒïŒ¯ïŒ³ è±å€«ïŒ ã¹ãã©ã¯ã©ãã
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37
In article <squhdk1...@stellar.co.jp>, man...@stellar.co.jp (Hideo "Sir MaNMOS" Morishita) writes
> x86ã§ã8088以å€ãªãããã¡ãã£ãšé»ã£ãŠãçµæãåºããŠããããã§ããã
> äžå¿ããã«ãã£ããããŸããã§ã
ãšãããã...
æè¿ã¯ããã£ãã·ã¥çµç±ã§ãã¹ã¢ã¯ã»ã¹ã§ãäžæŠãã£ãã·ã¥ã«å
¥ã£
ãŠããŸãã°ãalignment ãªããŠé¢ä¿ãªãããã§ãããããããã ã
ã¢ãã¬ã¹ã£ãŠã®ã¯ãã£ãã·ã¥ã®ã¿ã°ã«ãããªãããã ãããææ¥ã§
alignmentã®demonstrationããç°¡åãªããã°ã©ã ãæžãããããã
ãã§ããã©ãå
šç¶å·®ãåºãªããªããŸããã
PS2ãšãã¯å€ãæ¹ã«ãªãããã ãã
ããããã£ãã·ã¥ã«å
¥ããã©ããã®æ¹ãã¯ãªãã£ã«ã«ãªã®ã§ãæ§é
äœãšãã¯packããŠå
šäœã®ãµã€ãºãçž®ããæ¹ãè¯ãã®ã ãšæãã
OSã®ææ¥ã®ããã°ã©ã ãšãããããcompileéããªããªããïœ
éã£ãŠããæå³ããç¶æ³ã«ãªããªããã£ãŠã®è¯ãããããããã
å€ãããšãããé¢çœããã§ããã©ããLinux, OS-X, Windows...
PS2...
æè¿ãSolaris ãããããªããã§ã€ãŸããããŸãããããããªã
Linuxç³»ã ãšBUS errorãããªããã§ããïŒ
Sparc Solarisã ãšBUS errorãªãã§ãã
ïŒMacãSparcã䜿ã£ãŠããã©Linuxã¯x86ãããªããã§ãã
ãã£ããããããã§ããããCã ãšããŒã¿ããªãã£èããŠã絶察ã«ã¢ã©ã€ã¡ã³
ãã¯æããããã°ã©ã ãæžãã®ã§ãéã«ãã«ããŠãŸããã§ããã
ãããªã®ãã«ããã®ã¯ã¢ã»ã³ãã©ã§æžããæã ãã©ãx86ã®ã¢ã»ã³ãã©ã§ããã
ãã€ãåã®é£ç¶rotateãããããæžããªããªã£ããã§âŠ
Linux 2.4.18-powerpc (Debian woody 3.0)ã®gcc 2.95.4ã§è©ŠããŠã¿ãŸãããã
ã 2030405ããåºåããŸããã
# 02030405ã«ã¯ãªããªãã§ãããã
Linux 2.4.24-sparc64-smpã ãšBus errorã
nide@ããã£ã³ã¿ãã£ãŠè¡šèšãçåŠã ãª
In article <0502251322...@hayabusa.ics.nara-wu.ac.jp>, ni...@ics.nara-wu.ac.jp (NIDE Naoyuki) writes
> # 02030405ã«ã¯ãªããªãã§ãããã
%08x ã§ããã
> Linux 2.4.24-sparc64-smpã ãšBus errorã
Bus error ã«ããã³ãŒããããããå
¥ã£ãŠããã£ãŠããšãªãã§ããããã
Register Window ããã¿ããª?
Sparcã§ã®ã¢ã©ã€ã¡ã³ãéåã¯Bus errorããåœç¶ãã§ããããSolarisã§ãã
ãã ããLinux(ã®ããããŒãžã§ã³)ã§ã¯SIGBUSã¯POSIX.1ã§ã¯ãªããã
Segmentation faultã«ãªãã€ã¬ã¯ããããŠããã®ããšèšãæå³ã§
<squ8y5d...@stellar.co.jp>ã¯æžããã€ãããªã®ã§ãã
ãããå®¶ã«åž°ã£ããMacOS Xã§è©ŠããŠã¿ããã
ãã£ãã·ã¥ãå¹ããšãå¹ããªããšããé£ãããã絶察å¹ããªãã¢ãã¬ã¹ã«ãã
ãšSegmentation faultã®æ¹ãåºããã§ããâŠ
On Thu, 24 Feb 2005 14:53:09 +0000 (UTC), Shinji KONO <kono@ie.u-
ryukyu.ac.jp> wrote:
> æ²³éçæ²» @ ççå€§åŠæ
å ±å·¥åŠã§ãã
> In article <opsmnlzh...@news.media.kyoto-u.ac.jp>,
> ç¥æžéè¡<ka...@nerimadors.or.jp> writes
>> Hoge* pHoge
>> ãš
>> int* pI
>> ã®éã®ãã£ã¹ã
>> (Hoge*)pI
>> ãš
>> (int*)pHoge
>> ã¯ã©ã¡ããããããããŸãšãã«åæåãããŠãããšããŠã
>> äžè¬ã«ãŸãšããªçµæã«ãªããŸããã
>
> ããã¯ãæãéããããªã? (void*)ã«ãã£ã¹ãããã£ãŠã®ã¯ãå²
> ããšããããã ãã
>
> ãããããããHoge ã®æåã®int member ã«ã¢ã¯ã»ã¹ããã®ã«ãpI
> ã«ãã£ã¹ãããŠãããŸããããšã¯éããªãã£ãŠããšããããããã¢
> ãŒããã¯ãã£ã£ãŠããã®ããª?
ãŸããããã¯ãããã§ãããã©ãâŠã
ãã€ã³ã¿ãã¢ãã¬ã¹ãæããã®ãšæå³ã¥ããã°æ®ã©ã®å Žåã«å€ååããã§ããâŠã
圢åŒçãªæå³ã«åŸã£ãŠåã®éããã€ã³ã¿ãžã®ãã£ã¹ãã¯æ¥µåé¿ããŠãããæ¹ãããããšã
æ§é äœãžã®ãã€ã³ã¿ãšå
é ã®ã¡ã³ããžã®ãã€ã³ã¿ãäžçšæã«æ··åããŠãã£ã¹ãããŠäœ¿ã£ãŠããš
ãªããšãã£ãŠãèªã¿é£ãã§ããã
åŸã§æ§é äœã®ã¡ã³ãã远å ã»å€æŽãããšãã«æ³£ããèŠãããšã«ãªããšæãã®ã§âŠã
ïŒC++ãžç§»è¡ãããšãã«ã¯ä»®æ³é¢æ°ãšã䜿ã£ãç¬éã«ã€ãããªå°ããŸããã
è²ã
ãªåãžã®ãã€ã³ã¿ãäžã€ã®é¢æ°ã»å€æ°ã§åããªãããããªããŠvoid*ã«ããå Žåã
åŸã§äœ¿ããšãã«ã¯åºæ¬çã«å
ã®åã«æ»ãã§ããããã
ïŒã€ãããªå
é ã¡ã³ããžã®ãã€ã³ã¿ã«æ»ãããããªããŠã
äžçŸ€ã®æ§é äœãžã®ãã€ã³ã¿åã§ãåIDãå
¥ã£ãå
±ééšåãããã°ã
äžæ°ã«void*ãŸã§èœã¡ãã«å
±çšäœãšã䜿ãæããããŸããã
ïŒC++ãªãç¶æ¿ã䜿ããšããã§ããã
On Fri, 25 Feb 2005 04:22:23 GMT
ni...@ics.nara-wu.ac.jp (NIDE Naoyuki) wrote:
> nide@ããã£ã³ã¿ãã£ãŠè¡šèšãçåŠã ãª
ãã¿ãŸãããã¿ã€ããã¹ã§ãã
--
K.Moriyama
> > ãããããããHoge ã®æåã®int member ã«ã¢ã¯ã»ã¹ããã®ã«ãpI
> > ã«ãã£ã¹ãããŠãããŸããããšã¯éããªãã£ãŠããšããããããã¢
> > ãŒããã¯ãã£ã£ãŠããã®ããª?
>
> ãŸããããã¯ãããã§ãããã©ãâŠã
> ãã€ã³ã¿ãã¢ãã¬ã¹ãæããã®ãšæå³ã¥ããã°æ®ã©ã®å Žåã«å€ååããã§ããâŠã
>
> 圢åŒçãªæå³ã«åŸã£ãŠåã®éããã€ã³ã¿ãžã®ãã£ã¹ãã¯æ¥µåé¿ããŠãããæ¹ãããããšã
> æ§é äœãžã®ãã€ã³ã¿ãšå
é ã®ã¡ã³ããžã®ãã€ã³ã¿ãäžçšæã«æ··åããŠãã£ã¹ãããŠäœ¿ã£ãŠããš
> ãªããšãã£ãŠãèªã¿é£ãã§ããã
èªã¿é£ãããäžçšæã«ããªãæ¹ãããã®ã¯åæã§ãããã¡ãã£ãš language
lawyer ã£ãœãå°ããããããšãããããŠããã ããšã
6.7.2.1 Structure and union specifiers
... A pointer
to a structure object, suitably converted, points to its
initial member (or if that member is a bit-field, then to
the unit in which it resides), and vice versa. There may be
unnamed padding within a structure object, but not at its
beginning.
ã§ãã®ã§ãCã§ã¯äžå¿ã©ã®ç°å¢ã§ãåããŸãã
(ãŸããæ®éã¯ã
&(struct_ptr->initial_member)
ãšæžãã ãããšã¯æããŸããã)
åç°æŠåž
ã¿ãªãããã©ããããããšãããããŸããã
ãããã§ãšã©ãŒç¡ãã§ã³ã³ãã€ã«åºæ¥ãããã«ãªããŸããã
On Thu, 24 Feb 2005 14:47:23 +0000 (UTC)
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> > static struct tGroupName {
> > int iDummy ;
> > int iDummy2 ;
> > } ; < ããã«ååãç¡ãã®ã¯å€ãªã®ã§ããã
> > ã¡ãŒã«èª¬æã§ã¯ãäœãèšèŒãããŠ
> > ããŸããã
>
> æ§é äœã®å®£èšãªã®ã§ãç¹ã«å€ã§ã¯ãªãã§ããã§ãããã®static
> ã¯ç¡æå³ã ãšæãã
ãææã®éãã§ãç§ã®ééãã§ãããåãããã¥ã¢ã«ã確èªãã
æãstatic ã®èšè¿°ã¯æããŸããã§ããå°ããã以å€ã®éšåã¯èšè¿°
éãã§ãã
On Thu, 24 Feb 2005 23:28:47 +0900
éœè€ æŠå¿ <sa...@s4.xrea.com> wrote:
> ããããããšã§ããã°ãåã«
>
> int biSetPointer (tSample **piTemp)
> {
> *piTemp = pgSystem;
> return 1;
> }
>
> ãšããæãã§ãããã§ã¯ãªãããšã
On Thu, 24 Feb 2005 14:47:23 +0000 (UTC)
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> static struct tGroupName sUser ;
>
> void functionName ( struct tGroupName **pgUser )
> {
> *pgUser = &sUser;
> }
>
> ãšãããããã¯ãfree ããã«ãŒãã³ã䜿ã£ãŠã
>
> void openGroupName ( struct tGroupName **pgUser )
> {
> *pgUser = (struct tGroupName *)malloc(sizeof(struct tGroupName *)) ;
> }
>
> void closeGroupName ( struct tGroupName **pgUser )
> {
> free(*pgUser);
> }
>
> ã¿ãããªã** ãçè§£ã§ãããã©ãããåé¡ã§ããã©...
äžèšãåèã«ããŠãã³ã³ãã€ã«ãããšãšã©ãŒãåºãªããªããŸããã
ããããšãããããŸããã
# ãããããã®[ ** ] ããææã¡ã®Cèšèªé¢é£æžç±ã«èŠåœãããªã...
# 玢åŒã«ç¡ãã ãã§ãã©ããã«æžããŠããã®ããª?
> åã¯ãstruct ã¯ãtypedef ãšå¿
ã䜵çšããã£ãŠæããŠãŸãã
>
> typedef struct tGroupName {
> int iDummy ;
> int iDummy2 ;
> } TGROUPNAME, *TGROUPNAME_PTR;
>
> ãšããŠããã°ã
>
> static TGROUPNAME sUser ;
>
> void functionName ( TGROUPNAME_PTR *pgUser )
> {
> *pgUser = &sUser;
> }
>
> ã£ãŠãªæãã** 䜿ããªã人ã«ã¯äŸ¿å©?
ãã¯ãããã§ãããæžç±çã®èª¬æãèªãã æãã§ã¯ãtypedef ã
䜿çšããæ¹ãã¹ãããªãããªïœãšããå°è±¡ãæã£ãã®ã§...
--
K.Moriyama
On Fri, 25 Feb 2005 22:22:44 +0900, K.Moriyama <for...@ma.kcom.ne.jp>
wrote:
> # ãããããã®[ ** ] ããææã¡ã®Cèšèªé¢é£æžç±ã«èŠåœãããªã...
> # 玢åŒã«ç¡ãã ãã§ãã©ããã«æžããŠããã®ããª?
**x = *(*x)
ã§ãã
åã®æ¹ã¯
typedef X* PX;
ãšãããš
PX*åãšX**åãåãã§ãã
On Fri, 25 Feb 2005 22:22:44 +0900
"K.Moriyama" <for...@ma.kcom.ne.jp> wrote:
> # ãããããã®[ ** ] ããææã¡ã®Cèšèªé¢é£æžç±ã«èŠåœãããªã...
[ ** ]ãšããç©ãæãã®ã§ãªããŠãåé
æŒç®åãšããŠã®[ * ] ã®
äºé䜿çšã®ããã§ãã...ããŒãäœãããããã...
--
K.Moriyama
æçš¿ãããéã£ãããã§ããç¥æžãããããããããããšãããããŸãã
On Fri, 25 Feb 2005 22:53:33 +0900
ç¥æžéè¡ <ka...@nerimadors.or.jp> wrote:
> **x = *(*x)
>
> ã§ãã
>
> åã®æ¹ã¯
> typedef X* PX;
> ãšãããš
> PX*åãšX**åãåãã§ãã
ãããããããäºãªã®ã§ãããããããããããããªãã®åé¡ããªïœ
--
K.Moriyama
ãã®ããããããããæå³ã®ããšãªãïŒé¢æ°ã®ãã¹ããšåçšåºŠã®ãããããã ãš
æããŸãïŒïŒé¢æ°ã ãš ( ) ãèŠããã * ããé¢åãšãèšããïŒ
ãŸãïŒèšæ³ã«é¢ããããšãªãïŒïŒ£ä»¥åã¯ïŒ
int **x;
ã®æ§ãªæžãæ¹ããçºæããããŠããªãã£ãããïŒãã€ã³ã¿çµ¡ã¿ã®å®£èšã¯ãšãŠããš
ãŠãé¢åã§ããïŒæããšããŠã¯ïŒ
variable x is pointer of pointer of integer
ã¿ãããªïŒ
ïŒïŒ£ã«ã¯ pointer ã«çžåœããããŒã¯ãŒããç¡ãïŒèŠããªãïŒããšã«æ³šæïŒ
ïŒDereference æŒç®åãšããã®ã¯åããçºæããªãã§ããïœïœïŒ
--
Hideki Kato <mailto:ka...@pop12.odn.ne.jp>
In article <421fdd27.7071%ka...@pop12.odn.ne.jp>, Hideki Kato <ka...@pop12.odn.ne.jp> writes
> ãŸãïŒèšæ³ã«é¢ããããšãªãïŒïŒ£ä»¥åã¯ïŒ
> int **x;
> ã®æ§ãªæžãæ¹ããçºæããããŠããªãã£ãããïŒãã€ã³ã¿çµ¡ã¿ã®å®£èšã¯ãšãŠããš
> ãŠãé¢åã§ããïŒæããšããŠã¯ïŒ
> variable x is pointer of pointer of integer
> ã¿ãããªïŒ
ããã蟺ããã諊ããŠãŠããããã人ã«ã¯ããããã®ã ãšãæã£ãŠãŸãã
å
çãªã®ã«ããã§ããã®ããïœ
è¶ã ã§ãããŸããã
variable x is pointer to pointer to integer
ã§ã¯ïŒ
--
******************************
keizi kounoike
******************************
ka...@pop12.odn.ne.jpãã:
> ãŸãïŒèšæ³ã«é¢ããããšãªãïŒïŒ£ä»¥åã¯ïŒ
> int **x;
> ã®æ§ãªæžãæ¹ããçºæããããŠããªãã£ãããïŒãã€ã³ã¿çµ¡ã¿ã®å®£èš
> ã¯ãšãŠããšãŠãé¢åã§ããïŒæããšããŠã¯ïŒ
ããã¯éãã§ãããCã®ã宣èšåãã¯ãããåããã¥ãããæªããçº
æã§ããããã¯ãã¶ãèšèªå±ãã¹ãŠã®å
±éèªèã§ããããAlgol68ãšãã¯
var x: ref ref int;
ãšããããªæãã ã£ãããªãããã§åååãããããã§ãããããã¯C
ããå€ããããCãšåäžä»£ã£ãŠãããšPascalã ãã©
var x: ââinteger;
ãããäžå±€ç°¡æœã§ãããããªãã§ãããã²ãããCã¯å€æ°åã®åŽã«ãã
ãããã£ã€ãããã蟌ã¿å
¥ã£ããã®ã«ãªããšèªãããããããªãã
> variable x is pointer of pointer of integer
ãããšããããé·ã£ããããæžãæ¹ãçºæããŠç œãã®ã¯ã¡ãã£ãšâŠ
> ïŒDereference æŒç®åãšããã®ã¯åããçºæããªãã§ããïœïœïŒ
ã§ããã®æŒç®åã¯Cãæåãããªãã£ãŠã®ããåç¥ã§ããã ä¹
é
In article <cvosgq$b...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp wrote:
>ä¹
éã§ãã
>
>ka...@pop12.odn.ne.jpãã:
>> ãŸãïŒèšæ³ã«é¢ããããšãªãïŒïŒ£ä»¥åã¯ïŒ
>> int **x;
>> ã®æ§ãªæžãæ¹ããçºæããããŠããªãã£ãããïŒãã€ã³ã¿çµ¡ã¿ã®å®£èš
>> ã¯ãšãŠããšãŠãé¢åã§ããïŒæããšããŠã¯ïŒ
>
> ããã¯éãã§ãããCã®ã宣èšåãã¯ãããåããã¥ãããæªããçº
>æã§ããããã¯ãã¶ãèšèªå±ãã¹ãŠã®å
±éèªèã§ããããAlgol68ãšãã¯
>
> var x: ref ref int;
>
>ãšããããªæãã ã£ãããªãããã§åååãããããã§ãããããã¯C
>ããå€ããããCãšåäžä»£ã£ãŠãããšPascalã ãã©
>
> var x: ââinteger;
>
>ãããäžå±€ç°¡æœã§ãããããªãã§ãããã²ãããCã¯å€æ°åã®åŽã«ãã
>ãããã£ã€ãããã蟌ã¿å
¥ã£ããã®ã«ãªããšèªãããããããªãã
ãã®èšæ³ã§ãã£ã¹ããæžããŸããïŒãã§ã¯ããã蟺ãäžè²«ããŠãããïŒäœãš
ã :-ïŒèªãããã§ïŒïŒ£ã§èªãããããããªãã»ã©èŸŒã¿å
¥ã£ããã®ã¯ïŒãããæ¬
åœã«ïŒæå³çã«ïŒèŸŒã¿å
¥ã£ãŠãããã ãšæããŸãïŒ
ïŒãããä»ã®èšèªã®èšæ³ã§æžãããïŒãã£ãšèªã¿ã«ãããªããŸãããïŒ
ïŒïŒå®£èšéšãšåŒäžãšã§åãåœ¢ã§æžããã®ã¯è¯ãäºã ãšæããŸããïŒïŒïŒå°ãªããš
ïŒïŒãïŒç§ã«ãšã£ãŠã¯ç®ããé±ã§ããïŒ
>> variable x is pointer of pointer of integer
>
>ãããšããããé·ã£ããããæžãæ¹ãçºæããŠç
œãã®ã¯ã¡ãã£ãšâŠ
ãããèªãã§ã人ã Algol ã Pascal ã®èšæ³ãç¥ã£ãŠãããšã¯éããªãã§
ããïŒã ãããæãããšæã£ãŠãããã§ïŒ
ïŒç
œã£ãŠãã®ã¯ä¹
éããã®æ¹ã§ã¯ïŒ
ã€ãã§ã«ïŒ
In article <cvourb$5b0$1...@caraway.media.kyoto-u.ac.jp>, <koun...@mbh.nifty.com> wrote:
>è¶ã
ã§ãããŸããã
>
>variable x is pointer to pointer to integer
>
>ã§ã¯ïŒ
ããïŒèªç¶èšèªã ãšãããªãããç¥ããŸããããïŒã©ãããªãäžå®å è©ã欲ãã
ã)ïŒã§ãïŒç§ã®æèŠã ãšïŒå宣èšã§ã¯ of ã䜿ããããªãïŒãïœãïŒ
>> ïŒDereference æŒç®åãšããã®ã¯åããçºæããªãã§ããïœïœïŒ
>
> ã§ããã®æŒç®åã¯Cãæåãããªãã£ãŠã®ããåç¥ã§ããã ä¹
é
ãæåã ãšæžããŠãŸããïŒ
ïŒäœãæã£ãŠããã®ããããããïŒçé¢ïŒ
--
Hideki Kato <mailto:ka...@pop12.odn.ne.jp>
----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
# 以äžã¯ããããŸã§ãåå¿è
ã¬ãã«ã®äººéã®æ¯èšã§ãããŸãç®ãããã
# ç«ãŠãã«ãèªãã§ãã ããã
[ ããããã ]ãšããã®ã¯ã衚çŸãšããŠã¯äžé©åã ã£ãããã«æããŸãã
ãããã[ äžèªç¶ãªæã ] å㯠[ èªç¶ãªæèã«åããªã ]ãšããæ¹ã
ããè¿ããããããŸããã(ãããŸã§ãããè¿ãæããšããæå³ã§ãã)
On Sat, 26 Feb 2005 11:21:27 +0900
Hideki Kato <ka...@pop12.odn.ne.jp> wrote:
> ãã®ããããããããæå³ã®ããšãªãïŒé¢æ°ã®ãã¹ããšåçšåºŠã®ãããããã ãš
> æããŸãïŒïŒé¢æ°ã ãš ( ) ãèŠããã * ããé¢åãšãèšããïŒ
颿°ã®ãã¹ããããããããšæã£ãäºã¯æããŸãããã * ã®æ¹ã
é¢åããš...
On 26 Feb 2005 04:04:42 GMT
ku...@gssm.otsuka.tsukuba.ac.jp wrote:
> ããã¯éãã§ãããCã®ã宣èšåãã¯ãããåããã¥ãããæªããçº
> æã§ããããã¯ãã¶ãèšèªå±ãã¹ãŠã®å
±éèªèã§ããããAlgol68ãšãã¯
ããããããªãã§ãããããåããã¥ããã®ã§ããC ã䜿çšããŠã¿ãææ³ã¯
çã¡ã¢ãªã»é«éå + çããŒå
¥åãšããæãã§ãããã®çºãå¯èŠæ§(å¯èªæ§?)ã
ç ç²ã«ãªã£ãŠãããšããå°è±¡ã§ããã°ã®çºçãã«ããæ§é ã«ãããšããçºæ³ã
ããŸãç¡ãããã«æããããŸããç¹ã«é¢æ°ããå€ãè¿ãæ¹æ³ããã€ã³ã¿ããç¡ã
ãšããã®ã¯ããã ããŸããããŸãçµå±ã¯ããªãã®åé¡ãªã®ã§ãããã...
# 代å
¥ã [ = ]ã§ãæ¯èŒã [ == ]ãšãªã£ãŠããã®ã¯ãçããŒå
¥åã§ãããã
# åãDèšèªã§ã¯ãã€ã³ã¿ã䜿çšããã«å€ãè¿ããããã«ãªã£ãŠããããš...
> var x: ref ref int;
> var x: ââinteger;
確ãã«ããã ãšå°ãã¯åãããããã§ãããç¹ã« ref rer int ã¯æç¢ºã§ããã
# ãšããã§ã[ â ]ã¯[ ^ ]ã®äºã§ããã?
--
K.Moriyama
for...@ma.kcom.ne.jpãã:
> 確ãã«ããã ãšå°ãã¯åãããããã§ãããç¹ã« ref rer int ã¯æç¢ºã§ããã
ãšæããŸãã
> # ãšããã§ã[ â ]ã¯[ ^ ]ã®äºã§ããã?
Pascal User Manual and Reportã§ã¯ãâãã ã£ãããã«èšæ¶ããŠãŸ
ãããŸãã©ã£ã¡ã§ãåããã°ãããã§ããã
EBCDICãªãã·ã³ã§ã¯ã^ãããªããã§@ã ã£ããããŠã ä¹
é
ka...@pop12.odn.ne.jpãã:
> ãã®èšæ³ã§ãã£ã¹ããæžããŸããïŒ
ããååãæžããã°æžããããããªãã®ãCã¿ããã«æžããªãã(ââ
int)(x)ããšãæžãã°ãããšæããŸãããCã®ãã£ã¹ããããã€æ©èœãã€
ããã€èšæ³ã ãšæã£ãŠããŸããã©ãã
> ã§ã¯ããã蟺ãäžè²«ããŠãããïŒäœãšã :-ïŒèªãããã§ïŒïŒ£ã§èª
> ãããããããªãã»ã©èŸŒã¿å
¥ã£ããã®ã¯ïŒãããæ¬åœã«ïŒæå³çã«ïŒ
> 蟌ã¿å
¥ã£ãŠãããã ãšæããŸãïŒ
äžè²«ããŠãŸããããâŠããã¯äž»èгã®çžéã§ããã
> ãæåã ãšæžããŠãŸããïŒ
ããã¯ã©ãããCãã¹ãã©ã·ã€çºæããããšããäž»æšã«èªãããã®ã§ã
ããããäž»æšã§ãªãã®ãªãç°è«ã¯ãªãã®ã§ããã
> ïŒäœãæã£ãŠããã®ããããããïŒçé¢ïŒ
ããå¥ã«æã£ãŠã¯ããªãã®ã§ããã
Cããã°ããããšã¯æããªããšããã ãã§ããŠã ä¹
é
On Sat, 26 Feb 2005 20:53:16 +0900, K.Moriyama <for...@ma.kcom.ne.jp>
wrote:
> 森山ã§ãã
> 颿°ã®ãã¹ããããããããšæã£ãäºã¯æããŸãããã * ã®æ¹ã
> é¢åããš...
ãæ £ããã®éšåãé€ããå ŽåãåŒãã®ãã®ã¯
-x
ãšããåŒãæã€ããããããšå€§å·®ã¯ãªããšæããŸãã
ãŸããåé
æŒç®åã®-ã¯åã®å€åã¯äŒŽããªãåã ãã¯ç°¡åã§ããã
颿°ããããããããã€ãŸã颿°åŒã³åºãã®å
¥ãåã®ã»ããåçŽãšããã®ã¯
颿°ã®å
¥ãåã¯ïŒïŒã«ããå
¥ãåã§ç®ã«èŠãã圢ã§
衚ãããŠããããšããããã®ã§ãããã
ããã§ããããã°ã©ã ã®æµåã§ã¯æ¬åŒ§ãå€çšããããšãå§ããŠããŸãã
**ppx=-**ppx*3;
ãããªããŠ
(*(*ppx)) = ((-(*(*ppx))) * 3);
ãšæžãã°èª€è§£ã®äœå°ããªãã£ãŠããšã§ããã
ïŒå人çã«ã¯ããããããšåŽã£ãŠèªã¿ã«ããæ°ãããªãã§ã¯ãªãã§ããã
On Sat, 26 Feb 2005 21:49:54 +0900, ç¥æžéè¡ <ka...@nerimadors.or.jp> wrote:
> ç¥æžã§ãã
> **ppx=-**ppx*3;
> ãããªããŠ
> (*(*ppx)) = ((-(*(*ppx))) * 3);
èªå·±å¿çããŠãããŸãããäžã¯()ã®ä»ãæ¹ã瀺ãããã ãã®äººå·¥çãªäŸã§ããŠïŒ
**ppx *= -3;
ãªãã
(*(*ppx)) *= -3;
ãšæžãã°ãããããšãã話ã¯ãããŸãã
On Sat, 26 Feb 2005 21:49:54 +0900
ç¥æžéè¡ <ka...@nerimadors.or.jp> wrote:
> 颿°ããããããããã€ãŸã颿°åŒã³åºãã®å
¥ãåã®ã»ããåçŽãšããã®ã¯
> 颿°ã®å
¥ãåã¯ïŒïŒã«ããå
¥ãåã§ç®ã«èŠãã圢ã§
> 衚ãããŠããããšããããã®ã§ãããã
確ãã«ããã§ããã
> ããã§ããããã°ã©ã ã®æµåã§ã¯æ¬åŒ§ãå€çšããããšãå§ããŠããŸãã
>
> **ppx=-**ppx*3;
>
> ãããªããŠ
>
> (*(*ppx)) = ((-(*(*ppx))) * 3);
>
> ãšæžãã°èª€è§£ã®äœå°ããªãã£ãŠããšã§ããã
( ) ã䜿ãããšã§åããããããªããŸããã誀解ã«ãããã¹ãæžã
ããã§ãããå匷ã«ãªããŸããã
> ïŒå人çã«ã¯ããããããšåŽã£ãŠèªã¿ã«ããæ°ãããªãã§ã¯ãªãã§ããã
ã±ãŒã¹ãã€ã±ãŒã¹ãšèšãããšã§...
ç¥æžãããã©ããããããšãããããŸãã
--
K.Moriyama
On 26 Feb 2005 11:57:04 GMT
ku...@gssm.otsuka.tsukuba.ac.jp wrote:
> > # ãšããã§ã[ â ]ã¯[ ^ ]ã®äºã§ããã?
>
> Pascal User Manual and Reportã§ã¯ãâãã ã£ãããã«èšæ¶ããŠãŸ
> ãããŸãã©ã£ã¡ã§ãåããã°ãããã§ããã
>
> EBCDICãªãã·ã³ã§ã¯ã^ãããªããã§@ã ã£ããããŠã ä¹
é
ãããïœã[â]ã䜿çšããŠããã®ãæã£ããã ...ãŠã£ãã[ ^ ]ã ãš
èŠèŸãã®ã§åŒ·èª¿ããŠããã®ããšæããŸããã[ @ ]ã䜿çšããŠããã®ã¯
æããŸããããããã[ ^ ]ãç¡ããã·ã³ãæããšã¯ç¥ããŸããã§ããã
--
K.Moriyama
ç§ã¯ã»ãšãã©ãCã§æžããŠããã®ã§ããã«æ
£ããã£ãŠãããšããã®ããããŸããã
ãã©ãã©ãšé ãŸãããªå®£èšãéããããã¯ã
å°ã
èšå·çã§ãå
šäœãèŠæž¡ããããæ¹ããããšæã£ãŠãŸãã
ãã ãå¿æ
ãšããŠã¯äžç«æŽŸã§ãã
èšèªãæ¯èŒãããšãã«æ©èœã®éã¯å¿
ãããåªç§æ§ã衚ããªããšæããŸãã
ãããŠéå®ãããçšéã«ç¹åããããšã ã£ãŠããã§ãããã
ããããCãã·ã¹ãã èšè¿°çšã«äœããããšããçµç·¯ãèããã°ã
ã¢ã¯ãããã£ãã¯ãªã¡ã¢ãªã¢ã¯ã»ã¹ãåºæ¥ããšããããšã¯è³æ¥µåœç¶ã§ãã
ãåºæ¥ãŠããŸãããšãããã¡ãªããã¯ã©ããã£ãŠãé¿ãããªãã§ããã
> ç¹ã«é¢æ°ããå€ãè¿ãæ¹æ³ããã€ã³ã¿ããç¡ã
> ãšããã®ã¯ããã ããŸããããŸãçµå±ã¯ããªãã®åé¡ãªã®ã§ãããã...
ãããèãæ¹ã®åé¡ã§ãã§ããã ãã¢ãžã¥ãŒã«ã®äžã§åŠçãå®çµããã
ãšããã¢ãžã¥ãŒã«ã®ç¬ç«æ§ãæèããã°ãããšãåããŸãã
äºå®ãUNIXçã®Cã§æžãããã·ã¹ãã ã§ã¯ããã³ãã«ããšãã£ã
æœè±¡çæŠå¿µã§ãªãœãŒã¹ãã³ã³ãããŒã«ããããšãäžè¬çã§ã¯ãªãã§ããã
Cã¯ãé«çŽã¢ã»ã³ãã©ããšåŒã°ããããšããããŸããã
ãŸãã«ãã®æèŠã§äœ¿ãã°ããããéåæã¯ãããŸãããã
ãã ãæè§ã®é«çŽãªéšåã¯ç©æ¥µçã«äœ¿ããŸãããã©ãã
----
éœè€ïŒ çæ¶¯äžè¶£å³ãã
URI http://saito.s4.xrea.com/
e-mail sa...@s4.xrea.com
In article <cvpoec$p...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp wrote:
>ä¹
éã§ãã
> Cããã°ããããšã¯æããªããšããã ãã§ããŠã ä¹ é
ãïœããšïŒãã£ããèããçµæïŒä¹ éããã¯
ç§ã®èšäºã®æå³ãåéãããŠã
ãšããçµè«ã«éããŸããïŒç§ã®æçš¿ã¯ïŒïŒ£ã®åå¿è ã®æ¹ã®ïŒ
> [ ** ]ãšããç©ãæãã®ã§ãªããŠãåé
æŒç®åãšããŠã®[ * ] ã®
>äºé䜿çšã®ããã§ãã...ããŒãäœãããããã...
ãã®ããããããããšãããæèŠããå°ãã§ãåãããããšããæå³/ç®çã§æž
ãããã®ã§ïŒïŒ£ã瀌è³ãããã®ã§ã¯ãããŸããïŒ
ããã¯ïŒä»ã®èšèªïŒäŸãã° Lisp ãæããæã«ïŒ"()" ã°ããã§äºã
ãšèšã人
ã«å¯ŸããŠïŒãbegin, end ãšæžã代ããã« ( ) ã§æžããšæãã°ïŒããæªããã®ã§
ããªãã§ããããšèšãã®ãšåãã§ãïŒã ãããšèšã£ãŠïŒäžè¬ã«ïŒãããã¯ïŒåžž
ã«ïŒbegin, end ãã ( ) ã®æ¹ãåªããŠãããšèšã£ãŠ/æã£ãŠããããã§ã¯ãã
ãŸããïŒ
ããã°ã©ãã³ã°èšèªã¯ãã®èšèšç®çããã£ãŠäœãããŸãïŒãã®ç®çãç¡èŠããæ¯
èŒã¯ïŒç¡æå³ãšã¯èšããŸãããïŒçç£çã§ã¯ãªããšèããŸãïŒ
ïŒ£ã®æ§æãïŒãã®èšèšç®çâ»ãèããã°ïŒéåžžã«åªãããã®ã§ãããšèããŸã
ãïŒãããããã°ã©ãã³ã°ã®åå¿è
ã«åããŠãããã®ã§ãããšã¯ã決ããŠãæã
ãŸããïŒ
â»äœ¿çšè
ïŒããã°ã©ãïŒã®ã¹ãã«ãå«ãïŒ
ãåããé ããã§ããããïŒ
ka...@pop12.odn.ne.jpãã:
> > [ ** ]ãšããç©ãæãã®ã§ãªããŠãåé
æŒç®åãšããŠã®[ * ] ã®
> >äºé䜿çšã®ããã§ãã...ããŒãäœãããããã...
> ãã®ããããããããšãããæèŠããå°ãã§ãåãããããšããæå³
> /ç®çã§æžãããã®ã§ïŒïŒ£ã瀌è³ãããã®ã§ã¯ãããŸããïŒ
ããããªãã»ã©ãããã¯çŽåŸããŸããã
> ïŒ£ã®æ§æãïŒãã®èšèšç®çâ»ãèããã°ïŒéåžžã«åªãããã®ã§ãããš
> èããŸã
åºæ¬çã«ã¯ããæããŸãããã
> ãïŒãããããã°ã©ãã³ã°ã®åå¿è
ã«åããŠãããã®ã§ãããšã¯ã決
> ããŠãæããŸããïŒ
宣èšåã®æ§æã«ã€ããŠããã°ãåå¿è
ã§ãªããŠãåããŠããªãã倱æ
äœãã ãšæã£ãŠããŸããâ»
> ãåããé ããã§ããããïŒ
ã¯ããããã¯çŽåŸããŸããã
â»ã®è°è«ã¯èå³ãããã°ãããŸãããã ä¹
é
> ãããïœã[â]ã䜿çšããŠããã®ãæã£ããã ...ãŠã£ãã[ ^ ]ã ãš
> èŠèŸãã®ã§åŒ·èª¿ããŠããã®ããšæããŸããã[ @ ]ã䜿çšããŠããã®ã¯
> æããŸããããããã[ ^ ]ãç¡ããã·ã³ãæããšã¯ç¥ããŸããã§ããã
AlgolãPascalã§ã¯ããèŠæ Œæžãæç§æžã§äœ¿ãè¡šèšæ³ããšãå®éã®ã³ã³ãã¥ãŒ
ã¿ãžã®å
¥åã§äœ¿ãè¡šèšæ³ãããããŸããã
æç§æžçšã®è¡šèšæ³ã§ã¯äºçŽèªã¯å€ªåã§è¡šãããã€ã³ã¿ã®è¡šèšã«âãããç®ã®èš
å·ã«Ããªã©ã®èšå·ã䜿ãããŸãã³ã¡ã³ãã¯{ ... }ã䜿ã£ãŠããŸããã
ãªããPascalã®åŸç¶ã§ããModula-2ãOberonã§ã¯ããã€ã³ã¿åã¯
pointer to integer
ãšãã
pointer to pointer to TreeNode
ã®ããã«æžããŸãã
# ãããã«æ¯ã¹ãCã®å®£èšåã¯ã²ã©ããšç§ãæããŸãã
åç°æŠåž
Pascalãšæ··ãã£ãŠãŸããã
REF REF INT x; (ãŸã㯠REF REF REF INT x = LOC REF REF INT;)
ã§ãã(ããŒã«ãã倧æåã§è¡šçŸ)ãCã§ãåã¯å¿ ãtypedefããããšã«ããŠã
ref_ref_int x;
ãšãæžãã°ããã®ãããããªããã©ãtypedefã®æã«ã
typedef int **ref_ref_int;
ãšæžããªããšãããªãã
--
tksotn
On 27 Feb 2005 22:06:48 +0900
MAEDA Atusi <maeda...@ialab.cs.tsukuba.ac.jp> wrote:
> > ãããïœã[â]ã䜿çšããŠããã®ãæã£ããã ...ãŠã£ãã[ ^ ]ã ãš
> > èŠèŸãã®ã§åŒ·èª¿ããŠããã®ããšæããŸããã[ @ ]ã䜿çšããŠããã®ã¯
> > æããŸããããããã[ ^ ]ãç¡ããã·ã³ãæããšã¯ç¥ããŸããã§ããã
>
> AlgolãPascalã§ã¯ããèŠæ Œæžãæç§æžã§äœ¿ãè¡šèšæ³ããšãå®éã®ã³ã³ãã¥ãŒ
> ã¿ãžã®å
¥åã§äœ¿ãè¡šèšæ³ãããããŸããã
>
> æç§æžçšã®è¡šèšæ³ã§ã¯äºçŽèªã¯å€ªåã§è¡šãããã€ã³ã¿ã®è¡šèšã«âãããç®ã®èš
> å·ã«Ããªã©ã®èšå·ã䜿ãããŸãã³ã¡ã³ãã¯{ ... }ã䜿ã£ãŠããŸããã
ãããããããäºãªã®ã§ããã
> ãªããPascalã®åŸç¶ã§ããModula-2ãOberonã§ã¯ããã€ã³ã¿åã¯
> pointer to integer
> ãšãã
> pointer to pointer to TreeNode
> ã®ããã«æžããŸãã
確ãã«ããã ãšåãããããã§ããããšã¯èšããç§ããšãããããã
èšã£ãŠãå§ãŸããŸããã®ã§ãå è€ãããéœè€ããããã£ãããããã«
æèã建èšçãªæ¹åã«åããŠã¿ãŸããã
ã§ã& ãš * ã ã¢ãã»ã³ãã©ã§èšããšããã® Push Pop ã«èŠç«ãŠã
& : ãã€ã³ã¿ãšããŠã®éå±€ã1段深ãã
* : ãã€ã³ã¿ãšããŠã®éå±€ã1段æµ
ããã
ãšãã颚ã«ãšãããŠã倿°åã«ã¯å®£èšæã« [ * ]ã䜿çšããæ°ã ã
æ¥é èŸãšããŠã® [ p ]ã远å ããŠã¿ãäºãšããŸãããåã宣èšããæã«
[ * ] ã¯å€æ°åŽã§ã¯ç¡ããåååŽã«çããããã«ããŠã¿ãŸããã
ããããã°ãå ã®ããã°ã©ã ã§åŒã³åºãåŽã®
biDone = biSetPointer ( &pgUser ) ;
ã® & ã¯ããã€ã³ã¿ãšããŠã®éå±€ãïŒæ®µæ·±ããããã§ããã
ãã®ç¶æ
ã®å€æ°ã¯ã ppgUser ãšä»®å®åºæ¥ãã®ã§ãåããŠã®é¢æ°
åŽã§çšæãã倿°ã®æ¥é èŸã¯ãppgXXXX ãšããããã«ãªãäºãããã«
倿ããŸãããã®çºã宣èšããã¹ãåå㯠tSample** ãšãªãäºã«ãªã
ã®ã§ã
int biSetPointer ( struct tSample** ppgTemp )
ãšãç°¡åã«å°ãåºããŸããå ppgTemp ã« pgSystem ã® ãã€ã³ã¿ã
èšå®ããã«ã¯ãäž¡è
ã®éå±€ãåãã«ãããã€ãŸã ppTemp ã® p ã
åã£ãŠ pTemp ã«ããã°è¯ãã®ã§ãppgTemp ã« * ãä»ã㊠*ppgTemp ãš
ããã° * ãš æåã® p ãçžæ®ºãã㊠pgTemp ãšãªãã pgSystem ãš
åçãšãªããŸãããã
*ppgTemp = pgSystem ;
ãšæãäºããããã«åãããŸãã
ãã®èãã ãšãäŸãã°ä»¥äžã®ããã«å®£èšããå Žåã¯
int* piDummy ;
piDummy : * ã & ãç¡ããŠæ¥é æã® p ãæãã®ã§ã
ããŒã¿ãæã瀺ãã¢ãã¬ã¹ãšããŠã®ãã€ã³ã¿ã
*piDummy : * ãš p ã äºãã«çžæ®ºãããã®ã§ iDummy çžåœ
ãšãªããããŒã¿ãšããŠã®æŽæ°ã®å€ã瀺ãã
&piDummy : & ãæãã®ã§ ppiDummy çžåœãšãªã ãã€ã³ã¿ã®
æãã¢ãã¬ã¹ã瀺ãã
ãšèããäºãåºæ¥ãã®ã§ãæ¥é æãããŸã䜿çšããäºã«ãããããªã
åããããããªãããã«æããŸãã
ã§ãæçµçã«äŸã®åäœç¢ºèªçšããã°ã©ã ã¯ä»¥äžã®ããã«
ããŸããã
#include <stdio.h>
#define false 0
#define true 1
struct tSample {
int iDummy ;
int iDummy2 ;
} ;
static struct tSample gSystemArea ;
static struct tSample* pgSystem = & ( gSystemArea ) ;
int biSetPointer ( struct tSample** ppgTemp )
{
* ( ppgTemp ) = pgSystem ;
return ( true );
}
int main ( int srgc, char* argv[] )
{
static struct tSample* pgUser ;
int biDone ;
pgUser = ( struct tSample* ) malloc ( sizeof ( struct tSample ) ) ;
pgUser->iDummy = 15 ;
pgSystem->iDummy = 30 ;
pgUser->iDummy2 = 20 ;
pgSystem->iDummy2 = 40 ;
printf("pgUser->iDummy = %d\n" , pgUser->iDummy ) ;
printf("pgSystem->iDummy = %d\n" , pgSystem->iDummy ) ;
printf("pgUser->iDummy2 = %d\n" , pgUser->iDummy2 ) ;
printf("pgSystem->iDummy2 = %d\n" , pgSystem->iDummy2 ) ;
printf("pgUser = %d\n" , pgUser ) ;
printf("pgSystem = %d\n" , pgSystem ) ;
biDone = biSetPointer ( & ( pgUser ) ) ;
printf("pgUser->iDummy = %d\n" , pgUser->iDummy ) ;
printf("pgSystem->iDummy = %d\n" , pgSystem->iDummy ) ;
printf("pgUser->iDummy2 = %d\n" , pgUser->iDummy2 ) ;
printf("pgSystem->iDummy2 = %d\n" , pgSystem->iDummy2 ) ;
printf("pgUser = %d\n" , pgUser ) ;
printf("pgSystem = %d\n" , pgSystem ) ;
return ( 0 );
}
# ãã ããã ãšã 宣èšã® int** 㯠int&&ã®æ¹ããã£ãããããããª...
ãŸãåŸã¯ãã±ãŒã¹ãã€ã±ãŒã¹ã§ãåããããã衚èšãèããŠã¿ãããš
æããŸãã
--
K.Moriyama
tks...@anet.ne.jpãã:
> REF REF INT x; (ãŸã㯠REF REF REF INT x = LOC REF REF INT;)
ããã ã£ãã§ããã
> ã§ãã(ããŒã«ãã倧æåã§è¡šçŸ)ãCã§ãåã¯å¿ ãtypedefããããšã«ããŠã
ãããå šéštypedefããŸãããšããã®ã1ã€ã®æã§ãããæéã§ãããã
åæã®Cã£ãŠtypedefç¡ãã£ããã§ããããããã? ä¹ é
äœãšäœãã€ã³ãŒã«ãªã®ããšããé¢ä¿ã§èãããšè§£ãããããããããŸããã
ããšãã° int **a; ãšããæããã£ãå Žåã«ã¯ã
森山ããã¯ãa ã int** ãšããããšããé¢šã«æããŠããã®ã§ãããã
ããããªãã*æŒç®åã¯ååã®äžéšãšããããã§ã¯ãªãã®ã§ãã
ã**a ã int ã§ãããšããããšèããã°äœã®äžèªç¶ãããªããšæããŸãã
On Tue, 01 Mar 2005 21:44:23 +0900
éœè€ æŠå¿ <sa...@s4.xrea.com> wrote:
> > # ãã ããã ãšã 宣èšã® int** 㯠int&&ã®æ¹ããã£ãããããããª...
>
> äœãšäœãã€ã³ãŒã«ãªã®ããšããé¢ä¿ã§èãããšè§£ãããããããããŸããã
> ããšãã° int **a; ãšããæããã£ãå Žåã«ã¯ã
> 森山ããã¯ãa ã int** ãšããããšããé¢šã«æããŠããã®ã§ãããã
> ããããªãã*æŒç®åã¯ååã®äžéšãšããããã§ã¯ãªãã®ã§ãã
> ã**a ã int ã§ãããšããããšèããã°äœã®äžèªç¶ãããªããšæããŸãã
ã©ãããã®ããã§ããã[ int** ppA ] 㯠pp ã ** ã§ çžæ®ºãããš
[ int A ] ãšãªããšèããã°ãã€ãã€ãŸãåãããã§ãã
åããããã¯ãæ¥é èŸãããŸã䜿ãäºã«ãããåãããããããã°ã©ã ã
äœæåºæ¥ããã§ããéœè€ãããéãéãã®èª¬æããããšãããããŸãã
--
K.Moriyama