I need to create a char array dynamically based on the pattern length, i.e., plen
. However, when I do sizeof(table)
, I get 8. Why am I getting 8
instead of 3
?
int main() {
char *pattern = "aaa";
int plen = strlen(pattern);
char *table = new char[plen + 1];
for(int i = 0; i < plen; i++) {
table[i] = pattern[i];
}
cout << sizeof(table) << plen << table;
return 0;
}
The output I get is 83aaa...
: 8
for sizeof(table)
, 3
for plen
and aaa
for table
, which has the stored value of pattern.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…