C语言:使用int指针指向char数组首地址并输出字符串

在C语言中,可以使用int类型的指针指向char类型数组的首地址,然后通过强制类型转换将指针类型转换为char类型,最终输出字符串。

代码示例:

#include <stdio.h>

int main() {
    char str[] = "C语言";
    int *ptr = (int *)str;
    
    printf("%s\n", (char *)ptr);
    
    return 0;
}

解释:

  1. char str[] = "C语言";:定义一个char类型的数组str,并初始化为字符串"C语言"。
  2. int *ptr = (int *)str;:定义一个int类型的指针ptr,并将str的地址强制转换为int类型的地址赋值给ptr。
  3. printf("%s\n", (char *)ptr);:将指针ptr强制转换为char类型,并使用%s格式输出字符串。

注意:

  • 使用int类型指针指向char数组的首地址,然后强制类型转换输出字符串的做法在某些情况下可能导致不可预知的结果。
  • 这种做法通常用于学习指针和类型转换,在实际开发中应避免使用这种方式。

输出结果:

C语言

C语言:使用int指针指向char数组首地址并输出字符串

原文地址: https://www.cveoy.top/t/topic/fd0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录