指针的声明和初始化
#include <stdio.h>
int main() {
int num = 42;
// 声明整型指针
int *ptr;
// 将指针指向变量的地址
ptr = #
// 或者一步完成声明和初始化
// int *ptr = #
// 打印指针所指向的变量的值
printf("Value of num: %d\n", *ptr);
return 0;
}
指针的运算
#include <stdio.h>
int main() {
int num = 42;
int *ptr = #
// 指针运算:获取指针所指向的变量的地址
printf("Address of num: %p\n", ptr);
// 指针运算:获取指针所指向的变量的值
printf("Value of num: %d\n", *ptr);
// 修改指针所指向的变量的值
*ptr = 100;
printf("Updated value of num: %d\n", num);
return 0;
}
指针和数组
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int *ptr = numbers;
// 使用指针访问数组元素
printf("First element: %d\n", *ptr);
// 移动指针到下一个元素
ptr++;
printf("Second element: %d\n", *ptr);
return 0;
}
动态内存分配
#include <stdio.h>
#include <stdlib.h>
int main() {
// 动态分配整型变量的内存
int *ptr = (int*)malloc(sizeof(int));
if (ptr != NULL) {
*ptr = 42;
printf("Value: %d\n", *ptr);
// 释放动态分配的内存
free(ptr);
} else {
printf("Memory allocation failed\n");
}
return 0;
}
指针和函数
#include <stdio.h>
// 函数接受指针作为参数
void modifyValue(int *ptr) {
*ptr = 100;
}
int main() {
int num = 42;
// 将变量的地址传递给函数
modifyValue(&num);
// 变量的值已被修改
printf("Modified value: %d\n", num);
return 0;
}
指针是C语言中的强大工具,但也需要小心使用,以防止悬空指针、内存泄漏等问题。理解指针的基本概念和用法对于进行底层的内存操作是非常重要的。
转载请注明出处:http://www.zyzy.cn/article/detail/13524/C 语言