30/09/2018, 23:13

Kiểu sizeof khi gọi hàm

mn cho mình hỏi đoạn code này sao kích thước nó lại in ra 4 , và sửa sao để đúng

void x(char *s)
{
	cout << sizeof(s);
}
int main()
{
	char s[] = "ng kk ll  lldk";
	x(s);
	_getch();
	return 0;
}
chichi viết 01:22 ngày 01/10/2018

size của con trỏ là 4 bytes (còn tùy complier vs win 32 hay 64 nhé), do s là con trỏ kiểu char* nên sizeof(s) sẽ ra 4. bạn muốn lấy độ dài chuỗi có thể dùng hàm strlen(s) trong thư việc <string.h>

Bài liên quan
0