Home > Backend Development > C++ > Where Should the Asterisk Go? Understanding C Pointer Declaration Ambiguity

Where Should the Asterisk Go? Understanding C Pointer Declaration Ambiguity

DDD
Release: 2024-12-21 18:46:12
Original
831 people have browsed it

Where Should the Asterisk Go? Understanding C   Pointer Declaration Ambiguity

Pointer Definition Conundrum: The Placement of the Asterisk

In the realm of pointers, the placement of the asterisk (*) can sometimes evoke confusion. This article seeks to clarify the ambiguity by examining several pointer declaration examples.

Consider the following code snippets:


  1. int* test;

  2. int *test;

  3. int * test;

  4. int* test,test2;

  5. int *test,test2;

  6. int * test,test2;

Traditionally, it was believed that the first three examples were identical, declaring a pointer named "test" to an integer. However, this is an incorrect assumption.

Instead, the placement of the asterisk is crucial. In cases 4, 5, and 6, both "test" and "test2" are pointers to integers. In contrast, in case 5, only "test" is a pointer, while "test2" is a regular integer. Conversely, case 6 is equivalent to case 5, where "test" is a pointer, and "test2" is an integer.

To avoid any further confusion, it is recommended to separate the pointer declaration from the variable declaration, as seen in the following:

int* test;
int* test2;
Copy after login

Alternatively, you can use:

int *test, *test2;
Copy after login

This method ensures clarity and accuracy in pointer declarations.

The above is the detailed content of Where Should the Asterisk Go? Understanding C Pointer Declaration Ambiguity. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template