たとえば、malloc を使用して char ポインターを宣言する場合。割り当てられた長さを決定する方法はありますか。
例、char 配列を定義すると、要素の数を簡単に見つけることができます
char a[10];
a[0]='c';
cout << sizeof(a) / sizeof(a[0]);
一方、char ポインターで試した場合は 10 になります。
char *a;
a = (char*)malloc(10);
a[0] = 'c';
cout << sizeof(a) / sizeof(a[0]);
これは明らかにポインターのサイズであり、割り当てられた長さではありません。
char ポインターの割り当てられた長さを見つけることは可能ですか?
std::string などを使用せずにこれを尋ねている理由は、インタビューの質問をクラックしているときにこの質問に出くわしたためです。だから好奇心から