ÓãCÂÛ̳

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á
²é¿´: 1224|»Ø¸´: 3

[Òѽâ¾ö]ΪʲôһʹÓÃmallocº¯Êý³ÌÐò¾Í»á×Ô¶¯Ìø³ö£¿

[¸´ÖÆÁ´½Ó]
·¢±íÓÚ 2018-10-15 18:29:29 | ÏÔʾȫ²¿Â¥²ã |ÔĶÁģʽ

ÂíÉÏ×¢²á£¬½á½»¸ü¶àºÃÓÑ£¬ÏíÓøü¶à¹¦ÄÜ^_^

ÄúÐèÒª µÇ¼ ²Å¿ÉÒÔÏÂÔØ»ò²é¿´£¬Ã»ÓÐÕ˺ţ¿Á¢¼´×¢²á

x
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define Status int
  4. #define OK 1
  5. #define STACK_INIT_SIZE 6
  6. #define OVERFLOW 0
  7. typedef  struct {
  8.         int  *base;
  9.         int  *top;
  10.         int  stacksize;
  11. }Stack;
  12. Status InitStack(Stack *S) {
  13.         system("pause");
  14.         S->base = (int *)malloc(STACK_INIT_SIZE *
  15.                 sizeof(int));
  16.         if (!S->base) {
  17.                 printf("·ÖÅäÄÚ´æʧ°Ü"); exit(OVERFLOW);
  18.         }
  19.         S->top = S->base;
  20.         S->stacksize = STACK_INIT_SIZE;
  21.         return OK;
  22. }
  23. void main()
  24. {
  25.         Stack *S=NULL;
  26.         InitStack(S);
  27. }
¸´ÖÆ´úÂë

×î½üƵƵÓöµ½Õâ¸öÎÊÌ⣬ºÜÊÇÄÖÐÄ£¬×÷Òµ¶¼ÎÞ·¨Íê³É¡£Ò»µ©³ÌÐòÖ´Ðе½mallocº¯Êý¹â±êÀ¶È¦¾Í»áת¼¸È¦£¬È»ºóºóÐø´úÂ붼±»ÎÞÊÓûÓÐÖ´ÐУ¬Õû¸öexeµÄºÚ¿òÖ±½ÓÏûʧµô£¬ÕæµÄ²»ÖªµÀΪɶ¡£ÎÒÔÚÏëÄѵÀÊÇ·ÖÅäÄÚ´æʧ°ÜÁË£¿¾ÍдÁËÉÏÃæµÄ´úÂë²âÊÔһϣ¬µ«ÊÇÒªÊÇ·ÖÅäÄÚ´æʧ°ÜÄÇifÀïµÄprintf×ܵÃÖ´Ðаɣ¡Ò²Ã»ÓÐÎÄ×ÖÊä³ö·ÖÅäÄÚ´æʧ°Ü£¬µ½ÁËmalloc¾ÍÖ±½ÓÌø³ö£¬ÕâÊÇÄÖÄÄÑùÂ¡¤¡¤¡¤¡¤¡¤ÄѵÀ´æÔÚ×ÅÎÒ²»ÖªµÀµÄÓï·¨´íÎó£¿
×î¼Ñ´ð°¸
2018-10-15 20:14:34
º¦ÎÒÒÔΪ×Ô¼º¸ã´íÁË¡­¡­²»ÊÇÖ¸Õë~~
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. #define Status int
  4. #define OK 1
  5. #define STACK_INIT_SIZE 6
  6. #define OVERFLOW 0

  7. typedef struct STACK   // ¸øÉϽṹÌåÃû
  8. {
  9.     int *base;
  10.     int *top;
  11.     int stacksize;
  12. }Stack;

  13. Status InitStack(Stack *s)
  14. {
  15.     s->base = (int *)malloc(STACK_INIT_SIZE * sizeof(int));    //ÄãÕâÀïʲôÊÂÇ飿£¿
  16.     if (!s->base) {
  17.             printf("Memory Allocation Failed!\n"); exit(OVERFLOW);
  18.     }
  19.     s->top = s->base;
  20.     s->stacksize = STACK_INIT_SIZE;
  21.     return OK;
  22. }

  23. int main()    //Ç¿ÁÒ½¨ÒéÓà int main()
  24. {
  25.     Stack s;    //²»ÊÇÖ¸Õë
  26.     InitStack(&s);  //ҪȡµØÖ·
  27.     return 0;
  28. }
¸´ÖÆ´úÂë
ÏëÖªµÀС¼×Óã×î½üÔÚ×öɶ£¿Çë·ÃÎÊ -> ilovefishc.com
·¢±íÓÚ 2018-10-15 20:14:34 | ÏÔʾȫ²¿Â¥²ã    ±¾Â¥Îª×î¼Ñ´ð°¸   
º¦ÎÒÒÔΪ×Ô¼º¸ã´íÁË¡­¡­²»ÊÇÖ¸Õë~~
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. #define Status int
  4. #define OK 1
  5. #define STACK_INIT_SIZE 6
  6. #define OVERFLOW 0

  7. typedef struct STACK   // ¸øÉϽṹÌåÃû
  8. {
  9.     int *base;
  10.     int *top;
  11.     int stacksize;
  12. }Stack;

  13. Status InitStack(Stack *s)
  14. {
  15.     s->base = (int *)malloc(STACK_INIT_SIZE * sizeof(int));    //ÄãÕâÀïʲôÊÂÇ飿£¿
  16.     if (!s->base) {
  17.             printf("Memory Allocation Failed!\n"); exit(OVERFLOW);
  18.     }
  19.     s->top = s->base;
  20.     s->stacksize = STACK_INIT_SIZE;
  21.     return OK;
  22. }

  23. int main()    //Ç¿ÁÒ½¨ÒéÓà int main()
  24. {
  25.     Stack s;    //²»ÊÇÖ¸Õë
  26.     InitStack(&s);  //ҪȡµØÖ·
  27.     return 0;
  28. }
¸´ÖÆ´úÂë
ÏëÖªµÀС¼×Óã×î½üÔÚ×öɶ£¿Çë·ÃÎÊ -> ilovefishc.com
 Â¥Ö÷| ·¢±íÓÚ 2018-10-15 20:51:09 | ÏÔʾȫ²¿Â¥²ã
claws0n ·¢±íÓÚ 2018-10-15 20:14
º¦ÎÒÒÔΪ×Ô¼º¸ã´íÁË¡­¡­²»ÊÇÖ¸Õë~~

ÕâÑù¸ÄȷʵÄÜÔËÐÐÁ˵«ÊÇ£¬Ö¸Õë±¾Öʲ»Ò²ÊǵØÖ·Âð£¬ÎªÉ¶ÓÃÖ¸Õë¾Í»á³ÌÐòÌø³ö¡¤¡¤¡¤¡¤¡¤¡¤
ÏëÖªµÀС¼×Óã×î½üÔÚ×öɶ£¿Çë·ÃÎÊ -> ilovefishc.com
·¢±íÓÚ 2018-10-15 20:55:45 | ÏÔʾȫ²¿Â¥²ã
ÎÞµÐÌ«µ¶ ·¢±íÓÚ 2018-10-15 20:51
ÕâÑù¸ÄȷʵÄÜÔËÐÐÁ˵«ÊÇ£¬Ö¸Õë±¾Öʲ»Ò²ÊǵØÖ·Âð£¬ÎªÉ¶ÓÃÖ¸Õë¾Í»á³ÌÐòÌø³ö¡¤¡¤¡¤¡¤¡¤¡¤

Ö¸ÕëÖ»ÄÜ´æ´¢Ò»¸öµØÖ·£¬Ò²¾ÍÒ»Ñù¶«Î÷¶øÒÑ¡£
ÄãÒªÓÃÖ¸ÕëÒ²¿ÉÒÔ£¬µ«ÊǵÃÏȶÔÄãµÄÖ¸Õ뿪½á¹¹ÌåµÄ¿Õ¼ä£¬ÔÙÓöþ¼¶Ö¸Õ뿪ջµÄ¿Õ¼ä~~ºÎ¿à£¿
ÏëÖªµÀС¼×Óã×î½üÔÚ×öɶ£¿Çë·ÃÎÊ -> ilovefishc.com
ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

СºÚÎÝ|ÊÖ»ú°æ|Archiver|ÓãC¹¤×÷ÊÒ ( ÔÁICP±¸18085999ºÅ-1 | ÔÁ¹«Íø°²±¸ 44051102000585ºÅ)

GMT+8, 2024-5-14 18:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí