用数组实现的字符串和用指针实现的字符串。
1、
#include <stdio.h> int main(void) { char str[] = "abc"; //数组实现的字符串,str为数组名,为指向数组起始元素的指针,相当于“a”的指针。 char *ptr = "123"; //指针实现的字符串,ptr为指针,表示指向字符串字面量“123”首个字符的指针,即“1"的指针。 printf("str: %s\n", str); printf("ptr: %s\n", ptr); return 0; }
001、使用指针实现的字符串比使用数组实现的字符串占用更多的内存空间,因为指针创建的字符串除了字符串字面量占据内存空间外,指针也要占据内存空间。
002、数组名表示数组起始元素的指针,使用指针创建的字符串,指针变量也表示首个字符的指针,因此行为和数组本身一样,可以依据访问每一个字符。
原文:https://www.cnblogs.com/liujiaxin2018/p/14829265.html