01/10/2018, 09:58
Trong câu lệnh 'char** hihi(char *a,int b)' thì char** có nghĩa là gì
ae cho hỏi trong câu lệnh Char** hihi(char a,int b) ; thì char* có nghĩa là gì nếu là 1 dấu * thì nó nghĩa là hàm trả về 1 pointer còn 2 dấu ** thì đệ chịu:))))
Bài liên quan
Bạn thích gọi “hàm” là “lệnh” nhỉ tụi nó đâu giống nhau đâu.
char **
là pointer trỏ tới pointer khác :v (đem chữ “con trỏ” vào sẽ khó hiểu). Nôm na thì bạn có thể hiểu là nó có thể dùng nó giống như mảng 2 chiều (chỉ là “nôm na” cho dễ hiểu chứ bản chất thì nó là con trỏ, không phải mảng :v).Vậy nếu muốn trỏ tới con trỏ cấp 2 (
char **
) thì dùng 1 con trỏ cấp 3 …char
char* = (char)*
char** = (char*)*
char[] = (char)[]
char[][] = (char[])[]
char*[] = (char*)[]
Cứ thế phát triển lên, ta có thể có con trỏ cấp n, mảng n chiều. Và khi trộn lẫn các kiểu enumerator với nhau thành kiểu
std::vector<int*>*[]
thì anh em cũng chịu, chẳng biết gọi tên ra sao May mà C chỉ có * với [] thôi đấy.