1. 声明指针:
#include <stdio.h>
int main() {
int number = 10;
int *ptr; // 声明整型指针
ptr = &number; // 指针存储变量的地址
printf("Value of number: %d\n", number);
printf("Address of number: %p\n", &number);
printf("Value stored in ptr: %p\n", ptr); // 存储的是变量的地址
printf("Value at the address stored in ptr: %d\n", *ptr); // 通过指针访问变量的值
return 0;
}
2. 指针和数组:
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int *ptr = numbers; // 指向数组的第一个元素的指针
for (int i = 0; i < 5; i++) {
printf("Element %d: %d\n", i, *(ptr + i)); // 通过指针访问数组元素
}
return 0;
}
3. 指针和函数:
#include <stdio.h>
// 函数接受指针作为参数
void addTen(int *num) {
*num += 10;
}
int main() {
int value = 5;
printf("Original value: %d\n", value);
// 将变量的地址传递给函数
addTen(&value);
printf("Value after adding ten: %d\n", value);
return 0;
}
4. 动态内存分配和释放:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *dynamicArray;
// 分配内存
dynamicArray = (int *)malloc(5 * sizeof(int));
// 初始化数组元素
for (int i = 0; i < 5; i++) {
dynamicArray[i] = i + 1;
}
// 使用循环遍历数组并打印元素
for (int i = 0; i < 5; i++) {
printf("%d ", dynamicArray[i]);
}
// 释放动态分配的内存
free(dynamicArray);
return 0;
}
指针是C语言中的一个强大概念,但也需要小心使用,以防止悬空指针和内存泄漏等问题。
转载请注明出处:http://www.zyzy.cn/article/detail/3182/C语言