MST

星途 面试题库

面试题:C语言指针初始化的常见方式及应用场景

请阐述C语言中指针初始化的两种常见方式,并分别举例说明它们在不同应用场景下的使用,例如在函数参数传递、数组访问方面的应用。
14.4万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
  1. 直接初始化
    • 方式:在声明指针时直接赋予其一个内存地址值。
    • 示例 - 函数参数传递
#include <stdio.h>

void printValue(int *ptr) {
    printf("The value is: %d\n", *ptr);
}

int main() {
    int num = 10;
    int *ptr = &num;
    printValue(ptr);
    return 0;
}
  • 示例 - 数组访问
#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int *ptr = arr;
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(ptr + i));
    }
    return 0;
}
  1. 间接初始化
    • 方式:先声明指针,然后再为其赋值。
    • 示例 - 函数参数传递
#include <stdio.h>

void updateValue(int *ptr, int newVal) {
    *ptr = newVal;
}

int main() {
    int num;
    int *ptr;
    num = 5;
    ptr = &num;
    updateValue(ptr, 15);
    printf("The updated value is: %d\n", num);
    return 0;
}
  • 示例 - 数组访问
#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int *ptr;
    ptr = arr;
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(ptr + i));
    }
    return 0;
}