01/10/2018, 15:16
Vấn đề về truyền con trỏ vào hàm
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void printToken(char *monthPtr)
{
char *tokenPtr;
tokenPtr = strtok(monthPtr, "/");
while(tokenPtr != NULL){
printf("%s ", tokenPtr);
tokenPtr = strtok(NULL, "/");
}
}
int main()
{
char date[] = "01/13/2001";
char *monthPtr;
long month = strtol(date, &monthPtr, 0);
if(month == 1){
printf("%s ", "January");
printToken(monthPtr);
}
}
tôi đang thắc mắc tại sao truyền con trỏ monthPtr vào hàm mà không cần toán tử địa chỉ. Xin được trợ giúp.
Bài liên quan
Nó vốn dĩ là con trỏ rồi thì không cần phải dùng & nữa, nếu dùng & tức là sẽ truy cập vào con trỏ của con trỏ đó.
=> phải dùng tới ** mới lấy được giá trị
Trường hợp dùng & khi muốn lấy địa chỉ của biến không phải con trỏ (hoặc địa chỉ của con trỏ).
Nếu bạn viết
char monthPtr;
Thì sẽ phải &monthPtr
Tôi hiểu rồi, cảm ơn bạn