关于C语言 指针数组的小问题

指针数组赋值(字符串)后,可以单独引用某一个字符串中的第X个字符(单个字符)吗?输出必须用%s 不能用%c ??

c

2个回答

楼主是要这种吗?

 char *str[3] = {"skjf", "sd", "askjfssf"};
    printf("%c\n", str[0][3]); //打印出f
    printf("%c\n", *(str[2] + 3));//打印出j
Marlous
生气的小饼干 回复小灸舞: 是的 我看的书上没说这种情况!定义成指针数组可以直接用二维来引用
4 年多之前 回复

如果在编译器中定义了一个字符串常量"abc",那么这个字符串常量表示的是一个地址,也就是你可以使用"abc"[2]这样的方式来访问这个字符串(
2["abc"]的效果是一样,都是访问第3个字符)。
按照楼主的说法定义一个数组,那么数组中的每个元素都是一个字符串的首地址,可以使用我说的方法访问这个字符串的每个字符。
需要注意的是,这和c语言的二维数组的概念是不一样的,因为数组里面放的是每个字符串的首地址,并非真正的字符串。也就是说字符串的内存并没有包括在这个数组里面。值得一提的是,数组中每个元素的长度都是32bit(因为是指针)。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐