char *[] 动态赋值
时间: 2023-11-15 12:04:15 浏览: 35
你可以使用动态内存分配来为char *[]数组动态赋值。下面是一个示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *strings[3];
int i;
for (i = 0; i < 3; i++) {
// 分配内存并将其赋值给字符串指针数组
strings[i] = malloc(sizeof(char) * 20);
sprintf(strings[i], "string %d", i+1);
}
for (i = 0; i < 3; i++) {
printf("%s\n", strings[i]);
// 释放内存
free(strings[i]);
}
return 0;
}
```
在此示例中,我们首先定义了一个大小为3的char *[]数组。然后,我们使用for循环对数组进行动态赋值。在每次迭代中,我们使用malloc函数分配内存,然后使用sprintf函数将字符串写入到分配的内存中。最后,我们循环输出字符串并使用free函数释放分配的内存。
相关问题
给 char** 赋值
给 char** 赋值,可以使用以下方式:
1. 动态分配内存,并逐个字符复制
```c++
char** str = new char*[n]; // n为字符串数量
for (int i = 0; i < n; i++) {
str[i] = new char[strlen(s[i]) + 1];
strcpy(str[i], s[i]);
}
```
2. 直接将指针数组指向已有的字符串
```c++
char* s[] = {"apple", "banana", "orange"};
char** str = s;
```
请注意,在第一种方式中,需要手动释放内存,即:
```c++
for (int i = 0; i < n; i++) {
delete[] str[i];
}
delete[] str;
```
char*如何赋值
char* 可以赋值给一个字符串常量或者一个字符数组的首地址。赋值的方式可以使用 strcpy() 函数或者直接使用赋值运算符(=)。
例如,将一个字符串常量赋值给 char* 可以使用以下方式:
```
char* str = "Hello, World!";
```
将一个字符数组的首地址赋值给 char* 可以使用以下方式:
```
char arr[] = "Hello, World!";
char* str = arr;
```
使用 strcpy() 函数赋值可以使用以下方式:
```
char arr[20];
strcpy(arr, "Hello, World!");
char* str = arr;
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)