const char *one = "1";
const char *two = "2";
Здесь и один, и два являются строковыми константами независимо от указания квалификатора констант.Я имею в виду char *one = "1"
; будет таким же, как const char *one = "1"
.В Си строка const
инициализируется путем определения во время объявления и остается неизменной в течение всего выполнения программы.
char *nums[2];
- это массив указателей на символы, которые можно использовать двумя способами.
первый путь:
const char *one = "1";
const char *two = "2";
char *num[2] = {"1","2"}; // this is same as creating array of string const
второй путь:
const char *one = "1";
const char *two = "2";
main()
{
int len1 = strlen(one)+1;
int len2 = strlen(two)+1;
nums[0] = (char *)malloc(len1);
nums[1] = (char *)malloc(len2);
strcpy(nums[0],one);
strcpy(nums[1],two);
}