A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
int main(){
    char *arr[2]={"heima","heima"};
    printf("%s\n%s\n",arr[0],arr[1]);
    printf("%p\n%p\n",arr[0],arr[1]);
    return 0;


#include <stdio.h>
int main(){
    char arr[2][8]={"heima","heima"};
    printf("%s\n%s\n",arr[0],arr[1]);
    return 0;
}

3 个回复

正序浏览
第一个是指针数组,数组中存储了2个指针变量,每个变量分别指向一个常量区的字符串.第二个是一个二维数组,是存储在栈区的,保存的是2个字符串.
回复 使用道具 举报
字符串数组其实就是char类型的数组里面存的元素,字符串指针变量存的是字符串的首地址
回复 使用道具 举报
其实就是这两者都可以用来存储字符串,但是指针是变量可以替换改变,而数组表示的是常量不可以替换。两者的存储方式不同,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马