Если вы хотите, чтобы b
указывал на указатель на char (как можно было бы узнать, посмотрев на ваш оператор malloc, где вы выделяете место для одного указателя на char ) тогда b
должен иметь тип указатель на указатель на символ , например:
char* a = (char*) malloc(sizeof(char));
char** b = (char**)malloc(sizeof(char*));
Насколько я понял, вы хотите получить адрес, на который a
указывает место, на которое указывает b
? Это будет выглядеть так:
*b = a;
Если вместо этого вы просто хотите, чтобы b
был указателем на символ (как вы на самом деле объявили b
), и хотите, чтобы он указывал на тот же адрес, что и a
, затем сделайте это:
char* a = (char*)malloc(sizeof(char));
char* b = a;
То есть b
указывает на то же место, что и a
; но тогда вам также не нужно выделять место для b, потому что они просто указывают на один и тот же адрес в куче. Однако вам придется позаботиться о том, чтобы вы также только free
пробел указали a
и b
один раз!
Я бы также предложил почитать идею указателей (например, здесь или здесь ).