Mảng int thành mảng Char C++
Điều này khai báo một mảng với kích thước được chỉ định, được đặt tên là tên biến, thuộc loại tên_kiểu. Mảng được lập chỉ mục từ 0 đến size-1. Kích thước (trong ngoặc) phải là một số nguyên hoặc một biến cố định. Trình biên dịch sử dụng kích thước để xác định lượng không gian cần phân bổ (i. e. bao nhiêu byte) Show
ví dụ int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers Ví dụ cuối cùng minh họa một mảng hai chiều (mà chúng ta thường nghĩ về nó như một bảng). Chúng tôi thường nghĩ kích thước đầu tiên là hàng và kích thước thứ hai là cột, nhưng điều đó thực sự không quan trọng, miễn là bạn nhất quán. Vì vậy, chúng ta có thể coi phần khai báo cuối cùng là một bảng có 5 hàng và 10 cột chẳng hạn Khởi tạo mảngVới các biến thông thường, chúng ta có thể khai báo trên một dòng, sau đó khởi tạo ở dòng tiếp theo.int x; x = 0; Hoặc, chúng ta có thể chỉ cần khởi tạo biến trong chính câu lệnh khai báo int x = 0; Chúng ta có thể làm tương tự cho mảng không? . Chỉ cần liệt kê các giá trị mảng (chữ) trong ký hiệu tập hợp { } sau khi khai báo. Dưới đây là một số ví dụ int list[4] = {2, 4, 6, 8}; char letters[5] = {'a', 'e', 'i', 'o', 'u'}; double numbers[3] = {3.45, 2.39, 9.1}; int table[3][2] = {{2, 5} , {3,1} , {4,9}}; chuỗi kiểu CMảng kiểu char là trường hợp đặc biệt
Vì các mảng ký tự được sử dụng để lưu trữ các chuỗi kiểu C, nên bạn có thể khởi tạo một mảng ký tự bằng một chuỗi ký tự (i. e. một chuỗi trong dấu ngoặc kép), miễn là bạn chừa chỗ cho ký tự null trong khoảng trống được phân bổ char name[7] = "Johnny"; Lưu ý rằng điều này sẽ tương đương với char name[7] = {'J', 'o', 'h', 'n', 'n', 'y', '\0'}; Các biến thể trong khởi tạoKhai báo mảng phải chứa thông tin về kích thước của mảng. Có thể để kích thước ngoài [ ] trong khai báo miễn là bạn khởi tạo mảng nội dòng, trong trường hợp đó, mảng được tạo vừa đủ lớn để thu thập dữ liệu đã khởi tạo. ví dụ char name[] = "Johnny"; // size is 7 int list[] = {1, 3, 5, 7, 9}; // size is 5 Một lối tắt khác với bộ khởi tạo là sử dụng ít phần tử hơn kích thước chỉ định. Các phần tử còn lại sẽ mặc định là 0. Việc sử dụng một tập hợp chứa nhiều phần tử hơn kích thước được phân bổ là bất hợp pháp int list[5] = {1, 2}; // array is {1, 2, 0, 0, 0} int nums[3] = {1, 2, 3, 4}; // illegal declaration. Ghi chú. Sử dụng bộ khởi tạo trong khai báo, như trong các ví dụ trên, có lẽ sẽ không được như mong muốn với các mảng rất lớn. int numList[10]; int i; for (i = 0; i < 10; i++) numList[i] = i * 2; Sử dụng mảngKhi các mảng của bạn được khai báo, bạn truy cập các phần tử trong một mảng với tên mảng và số chỉ mục bên trong dấu ngoặc [ ]. Nếu một mảng được khai báo là. typeName varName[size], thì phần tử có chỉ số n được gọi là varName[n]. ví dụ.int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers0 Tuy nhiên, sẽ không thích hợp nếu sử dụng chỉ mục mảng nằm ngoài giới hạn của chỉ mục mảng hợp lệ int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers1 Tuyên bố trên là cú pháp pháp lý, tuy nhiên. Công việc của lập trình viên là đảm bảo rằng các chỉ số ngoài giới hạn không được sử dụng. Đừng trông đợi vào trình biên dịch để kiểm tra nó cho bạn -- nó sẽ không Sao chép mảngNếu chúng ta có hai mảng này, làm cách nào để sao chép nội dung của list2 sang list1?int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers2 Với các biến, chúng tôi sử dụng câu lệnh gán, vì vậy đây sẽ là xu hướng tự nhiên -- nhưng điều đó là sai int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers3 Chúng ta phải sao chép giữa các phần tử của mảng theo phần tử. Tuy nhiên, vòng lặp for giúp việc này trở nên dễ dàng int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers4 I/O đơn giản với chuỗi.Trong trường hợp đặc biệt của chuỗi (mảng ký tự kết thúc null), chúng có thể được sử dụng như mảng bình thường. Truy cập một phần tử mảng có nghĩa là truy cập một ký tự.int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers5 Chuỗi cũng có thể là đầu ra và đầu vào toàn bộ, với các đối tượng đầu vào và đầu ra tiêu chuẩn (cin và cout). int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers6Hãy cẩn thận chỉ sử dụng điều này trên các mảng char đang được sử dụng làm chuỗi kiểu C. (Điều này có nghĩa là, chỉ khi ký tự null xuất hiện dưới dạng dấu kết thúc) Dòng sau đây cho phép nhập một từ (tối đa 19 ký tự và ký tự null kết thúc) từ bàn phím, từ này được lưu trữ trong mảng word1 int list[30]; // an array of 30 integers char name[20]; // an array of 20 characters double nums[50]; // an array of 50 decimals int table[5][10]; // a two dimensional array of integers7 Các ký tự được đọc từ bàn phím cho đến khi bắt gặp ký tự "khoảng trắng" (dấu cách, tab, dòng mới, v.v.) đầu tiên. Đầu vào được lưu trữ trong mảng ký tự và ký tự null được tự động thêm vào Làm cách nào để chuyển đổi mảng int thành mảng char trong c?Trong ngôn ngữ C, itoa( ) được dùng để chuyển đổi một số nguyên thành chuỗi ( mảng ký tự ) Cú pháp. char * itoa ( int value, char * str, int base );
Làm cách nào để chuyển đổi một int thành một char trong c?Một ký tự trong C đã là một số (mã ASCII của ký tự), không cần chuyển đổi. Nếu bạn muốn chuyển đổi một chữ số thành ký tự tương ứng, bạn chỉ cần thêm '0'. c = i +'0'; '0' là một ký tự trong bảng ASCll.
Bạn có thể chuyển đổi int thành char không?Chúng ta có thể chuyển đổi int thành char trong java bằng cách sử dụng typecasting. Để chuyển đổi kiểu dữ liệu cao hơn thành thấp hơn, chúng ta cần thực hiện typecasting. Ở đây, ký tự ASCII của giá trị số nguyên sẽ được lưu trữ trong biến char. Để lấy giá trị thực trong biến char, bạn có thể thêm '0' với biến int
Làm cách nào để chuyển đổi mảng int thành chuỗi trong c?Hàm tostring() dùng để chuyển đổi một số nguyên thành chuỗi & ngược lại. Sử dụng hàm tostring() chuyển đổi một số nguyên thành chuỗi. Gán giá trị của biến 'num' cho biến 'n'. Vòng lặp While dùng để kiểm tra giá trị của biến 'n' có bằng 0 không. |