מערך של char-ים הוא סטטי
אי אפשר לשנות את הגודל שלו ואי אפשר "לשחק" עם השם שלו (דוגמה בהמשך). דוגמה:
char char_arr[10]; char *char_ptr = (char *) malloc( 10 * sizeof(char) ); // works while ( *char_ptr++ ) printf("%c ", *char_ptr); // doesn't work while ( *char_arr++ ) printf("%c ",*char_arr); // prints char_arr char_ptr = char_arr; while ( *char_ptr++ ) printf("%c ", *char_ptr); // doesn't work char_arr = char_ptr; // works printf("%c", char_ptr[2]); printf("%c", char_arr[2]);
הבדל נוסף שלא ציינתי הוא שלמחרוזת char* אפשר לשנות את הגודל (עם realloc למשל) או לפנות מהזיכרון. חוץ מזה, אין הבדל. שניהם משמשים להצבעה על איזור מסוים בזיכרון. לא כ"כ הבנתי את השאלה על xor