اشاره گر در C

0 امتیاز
63 بازدید
سوال شده اردیبهشت 14, 1395 توسط hadi.es  

سلام استاد

struct test {
   float Number[100];
   char Names[200];
}person;

با استفاده از اشاره گر میاییم و به عناصر داخل ساختار دسترسی پیدا میکنیم :

struct test *p;
p = & person

p->Number[0];

خب حالا سوالم :

آیا میشه با استفاده از متغیرهای معمولی بجای استفاده از اشاره گر دسترسی به عناصر ساختار داشت؟؟

یا

اگر فقط از علامت & استفاده بشه کافی نیست برای بدست آوردن آدرس خونه ی متغیر؟؟

این مطلب را به اشتراک بگذارید

1 پاسخ

+1 امتیاز
پاسخ داده شده فروردین 23, 1396 توسط mehdiyari  
انتخاب شده اردیبهشت 2, 1396 توسط ASHKARAN
 
بهترین پاسخ
#include <stdio.h>
#include <string.h>

struct test
{
    int number[100];
    char names[100][32]; /* 2D array for names 100 names ! ecach name require 32 char*/
};

int
main (int argc, char *argv[])
{
    struct test test_t;
    
    test_t.number[0] = 1;
    test_t.number[1] = 20;
    
    /* copy "Mehdi yari" and "Name family" to names[0] and names[1] with strlen => 10 and 11*/
    strncpy(test_t.names[0],"Mehdi yari", 10);
    strncpy(test_t.names[1],"Name family",11);
   
    /* prints numbers */
    fprintf (stdout, "test_t.number[0] is : %d and test_t.number[1] is : %d\n",
                      test_t.number[0] , test_t.number[1]);
   
    /* prints names */    
    fprintf (stdout, "test_t.names[0] is : %s and test_t.names[1] is : %s", 
                      test_t.names[0], test_t.names[1]);


    
    return 0;
}

/*
 * output 
 * test_t.number[0] is : 1 and test_t.number[1] is 20
 * test_t.names[0] is : Mehdi yari and test_t.names[1] is Nmae family
 *
 *
 */

منظورتون رو درست متوجه نشدم ولی
شما میتونید با ساختن یه متغیر ساده از نوع ساختار به عناصرش دسترسی داشت
و راحت باهشون کار کرد کد بالا رو ببینید
اگه چیزی ازش براتون ابهام داشت پیام بدید جوابتون رو میدم
درضمن این کد رو با جی سی سی کامپایل کنید ترجیحا تحت لینوکس
 

1,006 سوال

839 پاسخ

1,353 دیدگاه

1,315 کاربر

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...