سوال در رابطه با فانکشن print

با تشکر

با سلام و خسته نباشید،
مهندس، در فصل دوم اشاره ای کردین به فانکشن print ،که pointer هستش ،
2 تا سوال در این مورد دارم:
سوال اول: آیا من درست متوجه شدم که ما به فانکشن print هم میتونیم pointer پاس بدیم که اشاره به یه جای دیگه حافظه داره؟
وسوال دومم این است که ورودی فانکشن print که خودش pointer ، از نوع const است؟ یا اگر نیست ، ما زمانی که از سریال در این فانکشن چیزی مینویسیم .چه اتفاقی در حافظه میافتد ، ترتیب متغیر ها به چه صورت است ؟ آیا اتفاقی که میافتد این است که ،خود Serial.readString یا Serial.read که پاس میدیم به print ، اشاره دارن به یه قسمت دیگه از حافظه؟
و یه سوال دیگه ام دارم ، اونم اینه که من به چه صورت میتونم تشخیص بدم که باید از pointer استفاده کنم ؟، چون همون کاری که ما در آموزش انجام دادیم رو من با String و بدون استفاده از pointer هم انجام دادم و کد به همون شکل کار کرد.
(اطلاعات من در مورد pointer تا اواسط فصل دوم هستش وهنوز به مبحث AVR نرسیدم.)
ممنونم

سلام دوست عزیز، مبحث pointer ها در قسمت avr و سپس در قسمت arm کامل کامل میشه و در قسمت arduino فقط اشاره اجمالی بهش میشه. دقت کنید که شما هرموقع که string دارید (یعنی رشته ای از کاراکترها)، این کاراکترها در واقع به صورت یک آرایه در یک قسمت حافظه ذخیره میشن و آدرس خونه اول (همون pointer) هست که پاسکاری میشه بین متغیر ها و توابع.
حتی وقتی شما در تابع print به صورت مستقیم یک رشته رو مینویسید هم خود نرم افزار کامپایلر میاد اون رشته رو در یک قسمت حافظه قرارمیده و آدرس اون رو به تابع print پاس میده. کلا همه آرایه ها و string ها با رفرنس (یعنی با pointer) پاسکاری میشن.