在下面的代碼示例的C指針節目交換,有人可以告訴我爲什麼str1_ptr
和str2_ptr
與在swap1()
功能的簽名char **
類型,而不是char *
(例如的替代char **str1_ptr
char *str1_ptr
)宣佈?字符串的指針使用
#include<stdio.h>
/* Swaps strings by swapping pointers */
void swap1(char **str1_ptr, char **str2_ptr) {
char *temp = *str1_ptr;
*str1_ptr = *str2_ptr;
*str2_ptr = temp;
}
int main() {
char *str1 = "geeks";
char *str2 = "forgeeks";
swap1(&str1, &str2);
printf("str1 is %s, str2 is %s", str1, str2);
getchar();
return 0;
}
swap1()
函數交換兩個字符串。
你需要一個指針,你希望交換的類型,在這種情況下,類型爲char *,這樣一個指針爲char *爲char ** – ZivS