اطلاعیه

Collapse
No announcement yet.

سوال از c

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سوال از c

    سلام دوستان

    فرق این سه تا چیه؟
    Char st[ ]={1,2,3,4}
    Char st[ ]={‘a’,’l’,’I’ }
    Char st[ ]=”ali”
    به چه شکل در داخل رشته ها ذخیره می شوند?

    #2
    پاسخ : سوال از c

    اولی معادل کد های اسکی 1 و 2 و 3 و 4 را داخل st میریزد به ترتیب
    دومی کاراکتر های مورد نظر را به ترتیب در st میریزد
    سومی در خانه اول a در خانه دوم l و در خانه سوم i میریزد

    دیدگاه


      #3
      پاسخ : سوال از c

      با سلام
      اگر عبارتی که در st ریخته میآ‌شود را یک رشته در نظر بگیریم آنگاه تفاوت خیلی مهمی در گزینه دوم و سوم وجود دارد. کدآ‌ها را دوباره در نظر بگیرید:

      کد:
      char st[ ]={1,2,3,4} 
      char st[ ]={‘a’,’l’,’I’}
      char st[ ]=”ali”


      دقت کنید رشتهآ‌ها در C به صورت null terminate هستند و در انتهای آنها کاراکتر صفر قرار دارد. با توجه به این نکته خط دو و سه با هم کاملا متفاوت هستند. خط ۴ یک رشته صحیح در C است که کاراکتر صفر دارد ولی گزینه دوم رشته صحیحی نیست و اگر شما به صورت یک رشته آن را نمایش دهید احتمالا نتایج نامفهومی را مشاهده خواهید کرد.
      من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

      دیدگاه


        #4
        پاسخ : سوال از c

        نوشته اصلی توسط manian
        با سلام
        اگر عبارتی که در st ریخته میآ‌شود را یک رشته در نظر بگیریم آنگاه تفاوت خیلی مهمی در گزینه دوم و سوم وجود دارد. کدآ‌ها را دوباره در نظر بگیرید:

        کد:
        char st[ ]={1,2,3,4} 
        char st[ ]={‘a’,’l’,’I’}
        char st[ ]=”ali”


        دقت کنید رشتهآ‌ها در C به صورت null terminate هستند و در انتهای آنها کاراکتر صفر قرار دارد. با توجه به این نکته خط دو و سه با هم کاملا متفاوت هستند. خط ۴ یک رشته صحیح در C است که کاراکتر صفر دارد ولی گزینه دوم رشته صحیحی نیست و اگر شما به صورت یک رشته آن را نمایش دهید احتمالا نتایج نامفهومی را مشاهده خواهید کرد.
        کاملا درسته.
        خط اول به ترتیب اعداد 1,2,3,4 رو در آرایه میریزه(نه معادل اسکی رو)
        خط دوم هم یه رشته به طول 3 خانه ایجاد میکنه و معادل اسکی حروف رو میریزه.
        خط سوم یه رشته به طول 4 میسازه و تو 3 تای اول معادل اسکی حروف نوشته شده و در خانه چهارم عدد 0 که در اسکی بهش null میگن رو میریزه. تنها رشته ای که قابل چاپه همینه.
        بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
        اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

        دیدگاه


          #5
          پاسخ : سوال از c

          نوشته اصلی توسط mostafahk


          کاملا درسته.
          خط اول به ترتیب اعداد 1,2,3,4 رو در آرایه میریزه(نه معادل اسکی رو)
          خط دوم هم یه رشته به طول 3 خانه ایجاد میکنه و معادل اسکی حروف رو میریزه.
          خط سوم یه رشته به طول 4 میسازه و تو 3 تای اول معادل اسکی حروف نوشته شده و در خانه چهارم عدد 0 که در اسکی بهش null میگن رو میریزه. تنها رشته ای که قابل چاپه همینه.
          سلام دوستان عزیز

          از کجا می دانید کی کد اسکی وارد می شود ؟کی خود عدد؟

          خط دوم و اول شبیه هم هستند

          دیدگاه


            #6
            پاسخ : سوال از c

            نوشته اصلی توسط ali norbakhsh


            کاملا درسته.
            خط اول به ترتیب اعداد 1,2,3,4 رو در آرایه میریزه(نه معادل اسکی رو)
            خط دوم هم یه رشته به طول 3 خانه ایجاد میکنه و معادل اسکی حروف رو میریزه.
            خط سوم یه رشته به طول 4 میسازه و تو 3 تای اول معادل اسکی حروف نوشته شده و در خانه چهارم عدد 0 که در اسکی بهش null میگن رو میریزه. تنها رشته ای که قابل چاپه همینه.
            سلام دوستان عزیز

            از کجا می دانید کی کد اسکی وارد می شود ؟کی خود عدد؟

            خط دوم و اول شبیه هم هستند
            [/quote]

            علامت کوتیشن دو طرف یک تک کاراکتر یعنی آقای کامپایلر معادل اسکی این رو بریز. مثل :
            int val 'M';
            char kkk = '8';
            علامت دابل کوتیشن میگه که آقای کامپایلر این رو یک رشته استاندارد اسکی کن و بریز تو آرایه(البته فقط موقع تعریف یک آرایه میشه اینطوری کار کرد).

            char ex1[] = "Hello ECA";

            اما این نمیشه :
            char ex[10];
            ex = "hello eca";
            بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
            اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

            دیدگاه

            لطفا صبر کنید...
            X