1

誰かが以下の行を解釈できますか:

const void *const *ptr; 

タイプと Ptr 変数の両方が定数ですか?

4

2 に答える 2

2

const void *const *ptr;

を変更することはできますが、変更することはできptrません*ptr。または**ptr

ptr = <SOMETHING_ELSE>; /* ok */
*ptr = <SOMETHING_ELSE>; /* error */
**ptr = <SOMETHING_ELSE>; /* error, ignoring the point that you cannot even have an object of type void */
于 2012-08-13T13:41:15.380 に答える
1

私の頭の中から:

void * const var;    // The pointer is constant and var can change
const void * var;    // The pointer can change but not var

だから私はあなたの構文だと思います

const void * const *ptr;

ptrがポインタへのポインタであることを意味します。したがって、ptrはアドレスを指し、そのアドレスは変更できません(最初の定数)。また、ptrが配置されているアドレスは変更できません(2番目の定数)。しかし、私はこれを完全には確信していません。

于 2012-08-13T13:45:12.177 に答える