Skip to main content

Cách khai báo mảng 1 chiều trong C/C++

Cách định nghĩa mảng trong lập trình căn bản C/C++
1. Khai báo cấp phát cố định


int a[100];
 // khai báo xin cấp phát 1 mảng 1 chiều gồm có 100 phần tử
Nên #define số luợng phần tử truớc để dễ quản lý
#define ARRAY_SIZE 5
int anArray[ARRAY_SIZE]; 
Đối với cách này đòi hỏi phải "luờng" truơc đuợc số phần sử khi chuơng trình sử dụng.
Hạn chế sử dụng cách này vì sẽ phí bộ nhớ
/* malloc example: random string generator*/
#include <stdio.h>      /* printf, scanf, NULL */
#include <stdlib.h>     /* malloc, free, rand */

int main ()
{
  int i,n;
  char * buffer;

  printf ("How long do you want the string? ");
  scanf ("%d", &i);

  buffer = (char*) malloc (i+1);
  if (buffer==NULL) exit (1);

  for (n=0; n<i; n++)
    buffer[n]=rand()%26+'a';
  buffer[i]='\0';

  printf ("Random string: %s\n",buffer);
  free (buffer);

  return 0;
}

2. Khai báo cấp phát động
Đối với ngôn ngữ C ta sử dụng toán tử malloc
int *myArray;
myArray = (int*)malloc(n*sizeof(int));
Đỗi với C++ ta sử dụng toán tử new

#define ARRAY_SIZE 5
int *myArray;
myArray = new int[ARRAY_SIZE];
Lưu ý: Đối với dạng sử dụng con trỏ sau khi sử dụng nhớ sử dụng toán tử delete để hủy nó khi không còn sử dụng.

#include <iostream>
#include <new>
using namespace std;

int main ()
{
  int i,n;
  int * p;
  cout << "How many numbers would you like to type? ";
  cin >> i;
  p= new (nothrow) int[i];
  if (p == nullptr)
    cout << "Error: memory could not be allocated";
  else
  {
    for (n=0; n<i; n++)
    {
      cout << "Enter number: ";
      cin >> p[n];
    }
    cout << "You have entered: ";
    for (n=0; n<i; n++)
      cout << p[n] << ", ";
    delete[] p;
  }
  return 0;
}
Tham khảo thêm ở:

Comments

Popular posts from this blog

Mẹo và giải thuật C# dành cho người mới bắt đầu

Với nội dung kiến thức cơ bản nhất. Gồm 31 trang với những nội dung:  1. Kết nối CSDL SQL  -----------How to Create SQL Connection in C# 2. Đọc ghi file text với C#  -----------How to Write Text to a Txt File in C# -----------How to Read Text from a TXT File 3. Xóa Cookie C# -----------How to Delete Cookie Using C# 4. Gửi main sử dụng tài khoàn Gmail với C# -----------How to Send Email Using Your Gmail Account in C# 5. Kiểm tra ký tự nhập vào từ bàn  phím -----------How to Check If a Key Is Pressed In C# 6. Đổi tên file trong C# -----------How to Rename a File Using C# 7. Vô hiệu hóa chuột trong ô textbox C# -----------How to Disable Right Click in C# Textbox 8. Chọn tất cả trong listbox -----------How to Add Select All Button or Checkbox in CheckedListBox 9. Tạo mới thư mục bằng C# -----------How to Create a New Folder Using C# 10. Lấy các tiến trình đang chạy C# ----------- How to Get List of All the Running  Processes in C# 11. Tả...

Tài liệu hướng dẫn lập trình game với cocos2d-x

Thực hiện bởi: Admin Page Học Lập Trình https://www.facebook.com/hoclaptrinh.it Nội dung Phần 1: Cơ bản về cocos2d-x và khái niệm trong game Bài 1. Giới thiệu về Cocos2d-x Bài 2. Cài đặt Cocos2d-x Bài 3. Tạo ứng dụng đầu tiên Hello world Bài 4. Khái niệm Sprite và SpriteSheet Bài 5. Basic Action Bài 6. EFFECT & MUSIC Bài 7. Lập trình sự kiện Touch Bài 8. Cách tạo menu đơn giản (Cocos2d-x căn bản) Bài 9 . Hướng dẫn làm 1 game đơn giản bằng Cocos2d-x Phần 2: Vật lý trong game Bài 1 - Physics là gì, tại sao phải thêm Physics? ------------------------------Bắt đầu nội dung ------------------------------ “Write Once, Run Anywhere” (WORA)” Phần 1. Cơ bản về cocos2d-x và khái niệm trong game Bài 1. Giới thiệu về Cocos2d-x 1. Sơ lược về cocos2d-x 2. Vì sao chúng ta nên chọn cocos2d-x 3. Các kiến thức cần có 1. Sơ lược về cocos2d-x Là 1 Engine hỗ trợ lập trình Game đa nền tảng Xuất xứ từ trung quốc Hỗ trợ ngôn ngữ C+...

Bài tập thuật toán C/C++ Và Tuyển tập đề thi olympic

Gồm: +  Các thuật toán của Lê Minh Hoàng + Tuyển tập các đề thi olympic tin học sinh viên Link down: Tại đây