gpt4 book ai didi

c++ - 方括号数组

转载 作者:行者123 更新时间:2023-11-30 00:58:48 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Is array name a pointer in C?

所以,我通常使用指针来声明数组。

但是,您也可以使用方括号表示法声明数组:

char a[] = "ok" ;
char b[] = "to" ;
char *pa = a ;

cout << "a " << sizeof( a ) << endl ; // 3
cout << "pa " << sizeof( pa ) << endl ; // 4

奇怪的是,sizeof( a ) 将是数组的实际大小(以字节为单位),而不是指针的大小

我觉得这很奇怪,因为指针在哪里呢?方括号声明的数组实际上是一种具有 (sizeof(char)*numElements) 字节的数据结构吗?

此外,您不能将 a 重新分配给 b:

a = b ; // ILLEGAL.

这是为什么呢?似乎 a 是数组 而不是指向数组的指针(“左操作数必须是左值”a = b< 的错误 上面)。是吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com