015. 聲明和初始化指針
- 015. 聲明和初始化指針
- 1. 聲明指針
- 示例1:聲明一個指向整數的指針
- 2. 初始化指針
- 示例2:將指針初始化為`NULL`
- 示例3:將指針初始化為某個變量的地址
- 示例4:將指針初始化為動態分配的內存地址
- 3. 使用指針訪問和修改變量的值
- 示例5:使用指針訪問和修改變量的值
- 輸出結果
- 4. 指針的指針
- 示例6:指針的指針
- 輸出結果
- 5. 指針數組
- 示例7:指針數組
- 輸出結果
- 6. 動態分配的指針數組
- 示例8:動態分配的指針數組
- 輸出結果
015. 聲明和初始化指針
在C語言中,指針是一種特殊的變量,用于存儲另一個變量的內存地址。聲明和初始化指針是C語言編程中的重要概念。以下將詳細介紹如何聲明和初始化指針,以及如何使用指針訪問和修改變量的值。
1. 聲明指針
聲明指針時,需要指定指針所指向的變量類型。指針的聲明格式如下:
類型 *指針變量名;
示例1:聲明一個指向整數的指針
int *ptr; // 聲明一個指向整數的指針
2. 初始化指針
指針可以通過以下幾種方式初始化:
- 將指針初始化為
NULL
:表示指針不指向任何有效的內存地址。 - 將指針初始化為某個變量的地址:使用
&
運算符獲取變量的地址。 - 將指針初始化為動態分配的內存地址:使用
malloc
或calloc
函數分配內存。
示例2:將指針初始化為NULL
int *ptr = NULL; // 聲明并初始化為NULL
示例3:將指針初始化為某個變量的地址
int num = 10;
int *ptr = # // 聲明并初始化為變量num的地址
示例4:將指針初始化為動態分配的內存地址
int *ptr = (int *)malloc(sizeof(int)); // 動態分配一個整數大小的內存
if (ptr == NULL) {printf("Memory allocation failed\n");return 1;
}
*ptr = 10; // 通過指針訪問并修改動態分配的內存
3. 使用指針訪問和修改變量的值
指針可以通過*
運算符來訪問和修改它所指向的變量的值。
示例5:使用指針訪問和修改變量的值
#include <stdio.h>int main() {int num = 10;