定义一个指针数组并初始化赋值若干个字符串常量,则指针数组并不存放这些字符串,而仅仅指向各个字符串。
时间: 2023-04-24 18:00:55 浏览: 724
指针数组是一个数组,其中每个元素都是一个指针。如果我们定义一个指针数组并初始化赋值若干个字符串常量,那么指针数组中的每个元素都将指向一个字符串常量的地址。这意味着指针数组并不存储这些字符串,而仅仅指向它们。如果我们需要访问这些字符串,我们需要使用指针数组中的元素来获取它们的地址,然后使用指针来访问它们。
相关问题
怎么定义一个指针数组
指针数组是一个数组,其中每个元素都是一个指针。如果我们定义一个指针数组并初始化赋值若干个字符串常量,那么指针数组中的每个元素都将指向一个字符串常量的地址。这意味着指针数组并不存储这些字符串,而仅仅指向它们。如果我们需要访问这些字符串,我们需要使用指针数组中的元素来获取它们的地址,然后使用指针来访问它们。
char * s ; s="abcd"; 需要定义const才能把字符串常量,赋值给指针为什么可以
在 C 语言中,字符串常量是以字符数组的形式存储在内存中的,且字符串常量的值是不可修改的。当我们定义一个指针变量时,可以将指针指向字符串常量的首地址,这样就可以通过指针来访问字符串常量的值,但指针指向的地址是不可修改的。
在上面的代码中,`char *s;`定义了一个字符指针变量,但没有初始化。而`s="abcd";`则是将指针`s`指向了字符串常量"abcd"的首地址,这样就可以通过`s`指针来访问字符串常量的值。
需要注意的是,虽然字符串常量的值是不可修改的,但是指针变量本身是可以修改的。也就是说,我们可以修改指针变量`s`指向的地址,但不能通过`s`指针来修改字符串常量的值,这样会导致程序运行出错。